Последние два дня занимался я облагораживанием комментариев на Белой Шляпе. Заменил файл comments.php на новый, подходящий для WordPress 2.9 и встроенных в него функций древовидных комментариев и разбиения длинного списка комментариев на страницы. С заменой функций на новые я немного помучился и все получилось как нельзя лучше, но все-таки чего-то не хватало.
Я решил добавить нумерацию, люблю, чтобы все было параллельно и попендикулярно. Нумерацию комментариев не простую, а многоступенчатую. Поскольку отображение комментариев в виде дерева в блоге включено, то и нумерация должна быть соответствующая. Чего долго объяснять, смотрите скриншот:
Без помощи плагина можно реализовать обычную нумерацию без участия дочерних комментариев. Иначе говоря, будет нумероваться только самый старший комментарий, а все, что поступили ему в ответ останутся без номеров. О том, как это сделать подробно написано в блоге Александра Самсонова WordPressPlugins.ru в статье “Добавляем нумерацию комментариев в WordPress 2.7” Прочитайте, все поймете сами, написано доступно, понятно и просто, может быть у кого-то и получится проделать все, что там написано.
Для реализации многоступенчатой древовидной нумерации надо идти другим путем. Здесь поможет плагин Greg's Threaded Comment Numbering от доктора, с похожей на знакомую с сопливого детства, каждому русскоговорящему ребенку, фамилией, Грега Мюльхаузера. Вот домашняя страница плагина для нумерации комментариев в WordPress: Counselling Resource. Здесь все гораздо проще, чем со вставкой массы функций в массу непонятных файлов, хотя с кодом повозиться все равно придется. Но немного, совсем незаметно и быстро!
Скачайте плагин Greg’s Threaded Comment Numbering здесь. Разархивируйте его и полученную папку закачайте на ftp своего блога в каталог /wp-content/plugins/. Зайдите в админку блога, найдите меню “Настройки” и отыщите там пункт “Threaded Comment Numbering”, нажмите на него. Попадете на страницу настроек нашего новоявленного плагина. Она длинная и на английском языке. Я вам переводить ее не буду, хотя, мог бы. Скажу только, что я все настройки оставил как есть, изменил только пункт “Maximum Numbering Depth?” (Максимальный уровень вложенности) и установил в нем максимально возможное значение, равное 10. Такая цифра мне совершенно необходима, потому, что не редко на Белой Шляпе разворачиваются нешуточные дискуссии по разным поводам. Думаю, что и десяти-то будет мало, но автор не подумал обо мне и оставил это значение максимально возможным, равным ничтожному числу ДЕСЯТЬ. Если вы что-то будете менять в настройках, не забудьте в конце страницы нажать кнопку “Save Changes”, что в вольном переводе обозначает: “Эх, была не была, гори оно все синим пламенем!”. Дальше идем в наш блог полюбоваться нумерацией, открываем пост с самым большим количеством комментариев, пролистываем его до самого низа, вот появляются комментарии, и… нумерации нет.
А ее и не может быть. Потому, что надо зайти в каталог рабочей темы, найти там файл comments.php, а в нем, в свою очередь найти функцию:
<?php wp_list_comments(); ?>
и заменить на:
<!--<?php wp_list_comments (); ?>-->
<!-- Функция плагина Greg’s Threaded Comment Numbering, если плагин этот будет деактивирован, то надо раскомментировать строчку выше,она страндартная от WordPress-->
<?php wp_list_comments ('callback=gtcn_basic_callback'); ?>
<!-- /Greg’s Threaded Comment Numbering-->
Теперь снова идите на свой блог, находите запись с самым большим количеством комментов, открывайте ее и смотрите на комментарии, теперь там есть нумерация. Ну а если нет, то звоните, всегда рад.
Жень, спасибо за полезную информацию, учту для будущего, но сейчас «что-то с памятью моей стало» (слава богу не с моей, а вордпресса). Недавно пришлось отказаться от одного из плагинов по причине фатальной ошибки памяти. Такой совет дали на форуме вордпресса после чего все заработало. Другой путь — увеличить память, но этим я пока не занималась. А древовидные комментарии мне нравятся.
Мне тоже очень нравятся, очень красиво смотрится, а главное, можно ссылаться на предыдущие комментарии, используя их номер. Очень хорошо.
Я буквально вчера удалил 2 плагина, которые не давали публиковаться моей rss ленте, прям беда какая-то, авторам их уже написал, жду ответа.
Жень, спасибо за полезную информацию, учту для будущего, но сейчас «что-то с памятью моей стало» (слава богу не с моей, а вордпресса). Недавно пришлось отказаться от одного из плагинов по причине фатальной ошибки памяти. Такой совет дали на форуме вордпресса после чего все заработало. Другой путь — увеличить память, но этим я пока не занималась. А древовидные комментарии мне нравятся.
Мне тоже очень нравятся, очень красиво смотрится, а главное, можно ссылаться на предыдущие комментарии, используя их номер. Очень хорошо.
Я буквально вчера удалил 2 плагина, которые не давали публиковаться моей rss ленте, прям беда какая-то, авторам их уже написал, жду ответа.
Интересная фишка, попробую у себя в блоге. Спасибо.
Пожалуйста, заходите чаще и присоединяйтесь к нашим обсуждениям, дискуссиям и спорам, здесь интересно.!!!
Интересная фишка, попробую у себя в блоге. Спасибо.
Пожалуйста, заходите чаще и присоединяйтесь к нашим обсуждениям, дискуссиям и спорам, здесь интересно.!!!
К сожалению, в Вашем же блоге в июне 2010 года эта возможность исчезла, и все ссылки на номера предыдущих комментариев потеряли смысл. Я Вас об этом спрашивал в комменте к статье «СМС на номер 9800. Разблокировка порно баннера». Вы ответили, что движок не менялся, но комменты перенесены на другой сервер.
Доброго времени суток! Спасибо за статью!
А подскажите — у Вас на сайте какой плагин стоит для комментариев? Я не вижу нумерации, значит какой-то другой...
Здравствуйте.
Плагина для комментариев на этом сайте нет. Здесь всего 8 плагинов стоит.
Тема 'Twenty Twelve' почти не переделанная.
Понятно, а можно тогда еще спросить вот что.
Я пытаюсь переделать стили: commentlist li .commentnumber
но движок почему то берет стиль из файла reset.css, а мой стиль никак не хочет подхватывать.
Что делать?
Может надо создать дочернюю тему и менять все в ней. А основную тему не трогать? Погуглите на предмет создания дочерних тем — это очень удобно!
Все бы хорошо, но если я использую свой callback? И мне нужно воткнуть только нумерацию к комментам в определенном месте моего шаблона комментов.
Нашел в его коде:
в нужное место своей функции callback вставить код :
comment_ID, $args ); ?>
echo gtcn_comment_numbering ( $comment->comment_ID, $args );
Супер-решение!