Как настроить форму подписки в Телеграмм канал передать часть заголовка в шаблоне?
Добрый день. Хочу разместить на своем сайте такой же шаблон
как на сайте https://kulebiaka.ru/ Не пойму, как прописать в код, чтобы автоматически подставлялась часть заголовка. И чтобы сам шаблон появлялся на всех статьях. Вручную вставлять код в тело каждой статьи не вариант.
Дополнительно:
Ответы:
Публикации в тележку делаете через бота, и при публикации на некоторые посты выставляете какую-то галочку "лучшее".
Тогда движок может брать самый свежий пост с такой галочкой.
Вставить на каждую страницу - выставляйте в шаблон, а не в контента страниц.
- Добрый день. Мне не нужно делать публикации с сайта в телеграм. Я хочу вставить в свой сайт, такую же форму как на скрине. Как поняла сделано это через плагин ТОС+. Что-то типа вывода второго содержания с основным заголовком. Не могу понять как его настроить.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Если форма подписки должна автоматически появляться во всех статьях и подставлять часть заголовка, ее не нужно вставлять руками в каждую запись. Делайте шорткод или хук на
the_content, который возьмет текущий заголовок, обработает его и выведет блок.Пример шорткода для
functions.phpдочерней темы:add_shortcode('telegram_subscribe_box', function () { if (! is_singular('post')) { return ''; } $title = get_the_title(); $short_title = preg_replace('/^(.{1,70})b.*$/u', '$1', $title); ob_start(); ?> <div class="telegram-subscribe-box"> <p>Больше материалов по теме «<?php echo esc_html($short_title); ?>» публикуем в Telegram.</p> <a href="https://t.me/your_channel" target="_blank" rel="noopener nofollow">Подписаться</a> </div> <?php return ob_get_clean(); });
Если блок должен появляться автоматически после текста всех статей:
add_filter('the_content', function ($content) { if (! is_singular('post') || ! in_the_loop() || ! is_main_query()) { return $content; } return $content . do_shortcode('[telegram_subscribe_box]'); });
Если под "частью заголовка" имеется в виду не первые 70 символов, а конкретная часть до двоеточия, тире или другого разделителя, замените обработку на
explode()или регулярное выражение под вашу структуру заголовков. Плагин содержания тут не обязателен: он решает другую задачу, а подстановку заголовка надежнее делать через WordPress-функции.Перед внедрением на рабочем сайте проверьте решение на копии или хотя бы сделайте резервную копию изменяемого файла. После правки включите отображение ошибок, откройте проблемную страницу в обычном и приватном окне, проверьте консоль браузера и логи PHP. Если задача связана с WordPress, WooCommerce или ACF, дополнительно проверьте поведение после очистки кэша и после выхода из админки: часть ошибок видна только для незалогиненного пользователя.
Если код работает только в одном шаблоне, лучше не оставлять его разрозненно в нескольких файлах. Вынесите повторяемую логику в функцию, небольшой плагин или template part, а в шаблоне оставьте только вызов. Так проще поддерживать решение после обновления темы, плагинов и PHP.