WordPress: подключаем comment-reply.js правильно

С появлением в WordPress 2.7 древовидных комментариев большинство тем содержат следующую строку в файле header.php:

<?php if (is_singular()) wp_enqueue_script('comment-reply'); ?>

Этот код подключает скрипт comment-reply.js на статической странице или странице поста. Скрипт выполняет простую функцию — перемещает форму добавления комментария под комментарий, у которого мы кликнули на ссылку «ответить».

Следующий способ подключения этого скрипта более рациональный:

<?php if (is_singular() AND comments_open() AND (get_option('thread_comments') == 1)) wp_enqueue_script('comment-reply'); ?>

Данный код проверяет: какой тип страницы открыт, разрешены ли у текущей страницы комментарии и активирована ли опция древовидных комментариев. Если все 3 условия выполняются, то скрипт подключается.

Таким образом, скрипт comment-reply.js не будет подключен в тех случаях, когда он совсем не нужен.

Комментарии (11)
  1. 1
    @

    Дмитрий, здравствуйте! Не смотря на давнюю публикацию Вашей статьи, хочу задать вопрос, так как ничего подходящего в списке Ваших статей не нашел. Как у Вас на сайте реализованы древовидные комментарии? Моя тема изначально не поддерживает функцию «ответить» в комментариях. Начал искать способ её подключения и в интернете наткнулся на негативные статьи в пользу древовидных комментариев. Дело в том, что они индексируются поисковыми системами даже при отключении Replytocom в файле robots.txt. Все советуют подключить плагин, но я пока не хочу этого делать. Разве нет оптимального способа подключить древовидные комментарии с помощью скрипта без лишних проблем? Рассчитываю на Ваш ответ. Заранее спасибо!

    • 2

      У меня они реализованы стандартным способом:

      1. В админке включена соответствующая опция.
      2. Написаны стили для сдвига комментария отвечающего.
      3. Код из статьи.
      4. Код в шаблоне комментария для ссылки «ответить».

      Дело в том, что они индексируются поисковыми системами даже при отключении Replytocom в файле robots.txt.

      Если все указано правильно, то не должны индексироваться. У меня не индексируются.

      • 3
        @

        Благодарю за скорый ответ и за то, что прояснили всю ситуацию. Нужна была консультация опытного вебмастера, теперь буду экспериментировать. У вас качественный сайт, много раз по техническим вопросам выручал. Успехов в дальнейшей работе!

  2. 4
    @

    Здравствуйте, Дмитрий. Подскажите, пожалуйста, у Вас при нажатии кнопки Ответить окно для ввода комментария открывается внутри ветки. Это реализовано с помощью плагина или кода в статье?.
    И еще. Те коды, которые Вы указали в статье, прописаны именно ф файле header.php? У меня такого нет (я имею в виду код).

  3. 8

    Привет, я сам верстал шаблон но уже забыл зачем я вставлял эту функцию, хоть убей, спасибо за подсказку.

  4. 9
    Aleksandr

    Привет, очень полезная функция, подскажи, у меня иерархия комментариев ограничена 2, при ответе форма комментария исчезает, можно как то закрепить одну внизу, а там где ответ будет всплывать новая форма?

    Заранее спасибо.

  5. 10
    Василий

    А как его подключить так, чтобы не отображалась версия WordPress при этом?

Ваш комментарий