Как изменить текст ответа на комментарий WordPress только для определенных страниц?

Вопрос или проблема

Кто-нибудь знает, как я могу изменить текст ответа на комментарий в WordPress, чтобы он отображался только на конкретных страницах, а не на всем сайте?

Например, по умолчанию текст по всему сайту — «Оставить комментарий». Но для некоторых конкретных страниц я хочу, чтобы текст звучал как «Оставить отзыв».

Есть ли какой-либо код, который я мог бы использовать в файле comments.php, чтобы это работало?

Код не тестировался. Но теоретически он должен работать:

add_filter('comment_form_defaults', 'wpse337366_comment_form_modification');
function wpse337366_comment_form_modification($defaults)
{
    // поставьте ваше условие здесь
    if( is_page('my-page') || is_singular('my_post_type') )
    {
        $defaults['title_reply'] = __('Оставить отзыв');
    }
    return $defaults;
}

Вы можете разместить код в плагине или в файле functions.php вашей темы.

Код будет фильтровать стандартные тексты, передаваемые в comment_form().

Справка

В вашем шаблоне страницы, когда вы вызываете шаблон комментариев так, <?php comment_form(); ?>, он загрузит стандартный шаблон темы. В шаблоне страницы вам нужно изменить заголовок комментария, просто вызвав шаблон комментариев следующим образом,

<?php
      comment_form(array(
      'title_reply' => __( 'Оставить отзыв' ),
 ));?>

Если вы хотите изменить текст ответа на комментарий на конкретных страницах вашего сайта WordPress, вы можете использовать плагин «Изменить текст ответа на комментарий». Этот плагин позволяет вам настраивать текст ответа для отдельных страниц или записей. Следите за нами для получения дополнительной информации: https://floradress.com/

Ответ или решение

Чтобы изменить текст комментария в WordPress для определенных страниц, вы можете использовать хук comment_form_defaults в файле functions.php вашей темы или в кастомном плагине. Приведенный ниже код позволит вам изменить текст, чтобы он отображался как "Оставить отзыв" только на конкретных страницах.

Пример кода:

add_filter('comment_form_defaults', 'custom_comment_form_modification');
function custom_comment_form_modification($defaults) {
    // Установите ваше условие здесь
    if (is_page('my-page') || is_singular('my_post_type')) {
        $defaults['title_reply'] = __('Оставить отзыв'); // Изменяем текст
    }
    return $defaults;
}

Как это работает:

  1. Функция add_filter: Эта функция добавляет фильтр, который позволяет изменить стандартные параметры формы комментариев.
  2. Функция custom_comment_form_modification: Обычно вы проверяете, на какой странице пользователь находится, используя условные теги WordPress, такие как is_page() или is_singular().
  3. Обновление текста: Если условие выполняется (например, если человек находится на странице с вашим определённым слагом), текст заголовка будет изменен на "Оставить отзыв".

Где размещать код:

Этот код должен быть размещен в файле functions.php вашей активной темы или в разделе functions кастомного плагина.

Альтернативный способ (внутри шаблона):

Если вы хотите изменить заголовок комментариев только на определенной странице, вы можете явно указать параметр title_reply при вызове функции comment_form() в нужном шаблоне:

<?php
    if (is_page('my-page')) {
        comment_form(array(
            'title_reply' => __('Оставить отзыв'),
        ));
    } else {
        comment_form(); // Используем стандартный формат
    }
?>

Плагин для изменения текста:

Если вы предпочитаете использовать плагин, вы можете найти и установить плагин, такой как "Change Comment Reply Text". Он позволит вам настраивать текст ответа на комментарии для отдельных страниц или постов, не обращаясь к коду.

Заключение

Эти методы позволят вам легко управлять текстом формы комментариев на вашем сайте WordPress в зависимости от страницы. Выберите подходящий для вас способ – через программный код или использование плагина – и настройте свой сайт так, как вам нужно.

Оцените материал
Добавить комментарий

Капча загружается...