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
не будет подключен в тех случаях, когда он совсем не нужен.
Комментарии (12)
Дмитрий, здравствуйте! Не смотря на давнюю публикацию Вашей статьи, хочу задать вопрос, так как ничего подходящего в списке Ваших статей не нашел. Как у Вас на сайте реализованы древовидные комментарии? Моя тема изначально не поддерживает функцию «ответить» в комментариях. Начал искать способ её подключения и в интернете наткнулся на негативные статьи в пользу древовидных комментариев. Дело в том, что они индексируются поисковыми системами даже при отключении Replytocom в файле robots.txt. Все советуют подключить плагин, но я пока не хочу этого делать. Разве нет оптимального способа подключить древовидные комментарии с помощью скрипта без лишних проблем? Рассчитываю на Ваш ответ. Заранее спасибо!
У меня они реализованы стандартным способом:
1. В админке включена соответствующая опция.
2. Написаны стили для сдвига комментария отвечающего.
3. Код из статьи.
4. Код в шаблоне комментария для ссылки “ответить”.
Если все указано правильно, то не должны индексироваться. У меня не индексируются.
Благодарю за скорый ответ и за то, что прояснили всю ситуацию. Нужна была консультация опытного вебмастера, теперь буду экспериментировать. У вас качественный сайт, много раз по техническим вопросам выручал. Успехов в дальнейшей работе!
Здравствуйте, Дмитрий. Подскажите, пожалуйста, у Вас при нажатии кнопки Ответить окно для ввода комментария открывается внутри ветки. Это реализовано с помощью плагина или кода в статье?.
И еще. Те коды, которые Вы указали в статье, прописаны именно ф файле header.php? У меня такого нет (я имею в виду код).
Вставила код. Теперь нажимая Ответить, ничего не происходит, но видно, что очеь хочет :). одскажите, пожалуйста, Вы пишите, что вставили код в шаблоне для кнопки Ответить. Что это за код? Нашла это , но при вставке (вслепую) на сайте выходит ошибка в области комментариев, которая ссылается на файл коммент-темплате.
Вот код кнопки “ответить”:
Спасибо. Будем разбираться…
Спасибо!
Привет, я сам верстал шаблон но уже забыл зачем я вставлял эту функцию, хоть убей, спасибо за подсказку.
Привет, очень полезная функция, подскажи, у меня иерархия комментариев ограничена 2, при ответе форма комментария исчезает, можно как то закрепить одну внизу, а там где ответ будет всплывать новая форма?
Заранее спасибо.
А как его подключить так, чтобы не отображалась версия WordPress при этом?
Добавьте в functions.php: