Webamator Blog

Делаем древовидные комментарии
MENU
Home » wordpress » Делаем древовидные комментарии

Делаем древовидные комментарии

До недавнего времени в WordPress для реализации древовидных (вложенных) комментариев приходилось пользоваться сторонними плагинами. Что не всегда лучшим образом влияло на производительность и безопасность движка. Но начиная с версии 2.7 появилась возможность включать такое отображение комментариев средствами самого WordPress, единственное условие – шаблон должен быть, что называется “2.7 совместимый”. Именно о том, как сделать из вашего старого шаблона 2.7 совместимый и рассказывается в этой статье. Чтобы проделать нужные изменения, необходимо иметь хотя бы базовые знания html и php, если вы не уверены в своих силах… как говорится, обратитесь к специалисту.

Итак, для начала вам нужно убедиться в том, что данная опция включена в самом WordPress (по умолчанию она выключена). В админке нажимаем “Настройки”, затем “Обсуждение”. Поставьте галочку напротив “Включить древовидные (вложенные) комментарии”, при необходимости укажите максимальный уровень вложенности и максимальное количество комментариев на страницу, затем нажмите “Сохранить изменения”.

Затем откройте файл header.php вашей темы и добавьте строку

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

Обратите внимание, что она обязательно должна находиться внутри тегов <head></head>.

Теперь открываем файл comments.php, именно в нем мы будем проделывать все остальные изменения. Находим строку

<?php if ( $comments ) : ?>

Это проверка, включены комментарии или нет. В старых темах  за вывод комментария отвечала функция

<?php comment_text() ?>

Как правило, к ней прилагался целый вагон дополнительных функций, таких как

<?php comment_date() ?>
<?php comment_time() ?>

Теперь одна универсальная функция может заменить все вышеперечисленные:

<?php wp_list_comments('type=comment');?>

Именно эта строка и должна быть вместо всех вышеназванных.

Далее нам придется поместить форму для ответа внутри блока “respond” (данное имя используется ВП, если его изменить то работать ничего не будет). Просто ищем строку, которая начинается с <form action= и пишем перед ней

<div id="respond">

Сразу под ней вызываем функцию, позволяющую ответить на комментарий. Для этого просто вставляем строки:

<?php if ( comments_open() ) : ?>
<h2 id="postcomment"><?php _e('Leave a comment'); ?></h2>
<div id="cancel-comment-reply">
<small><?php cancel_comment_reply_link() ?></small></div>

Затем находим закрывающий тег для формы и после него закрываем наш блок “respond”.

</div>

Кстати, при желании мы можем вывести ссылки на следующую и предыдущую страницу с  комментариями. Для этого воспользуйтесь встроенными в ВП функциями:

<?php previous_comments_link() ?>
<?php next_comments_link() ?>

Popularity: 21%

Добавлено 26 марта 2009
Рубрика: wordpress, Рекомендую
Метки: ,

Если данный пост показался вам полезным или интересным, нажмите на одну из кнопок ниже - от vkontakte, facebook, tweeter или google+, чтобы о нем узнали ваши друзья. Спасибо!

Также рекомендую публикации, похожие на "Делаем древовидные комментарии"

Single Load Only. Избавляемся от дублирования js

В данной статье я расскажу об одной из проблем Wordpress – повторному подключению javascript. Подключение скрипта несколько раз приводит к его повторному выполнению, т.е. страдает производительность. Кроме того, [...]

Что нового в WordPress 4.7

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

Блокировка доставки по городам в WooCommerce.

Когда-то я уже писал об ограничении штатов США в WooCommerce. Но похожая задача может возникнуть не только на уровне штатов, но и на уровне отдельных округов или городов [...]

Что нового в WordPress 4.6

WordPress 4.6 «Перец» назван в честь саксофониста Парк Фредерик “Перец” Адамс III, доступен для загрузки или обновления в вашей панели управления WordPress. В этой версии нет никаких серьезных [...]

7 комментариев

7 комментариев


RSS feed for comments on this post.

Leave a comment