Разбиение комментариев на страницы в wordpress без плагинов
Wednesday, 04 Nov 09 в 16:53
После рассмотрения вопроса (проблемы) с древовидными комментариями в wordpress, мне предстояла очередная задача – разбить эти самые комментарии на страницы. Принялся искать различные решения в англоязычных блогах, но как-то все весьма скромно – 90% информации было о сомнительных плагинах (совместимость которых проверена только с устаревшими версиями wordpress). Собственно на это есть свои причины – как и с древовидными комментариями, функция разбиения по страницам стала доступной в wordpress по умолчанию, и может быть внедрена средствами самой системы без помощи сторонних плагинов. После небольшого вступления перейдем непосредственно к решению вопроса.
1. Первым делом заходим в раздел «Настройки» пункт меню «Обсуждение». Здесь сразу после пункта включения древовидных комментариев вы увидите поле для разбиения по страницам:

В настройках wordpress вы можете указать сколько комментариев должно помещаться на одной странице, какую страницу отображать по умолчанию (первую или последнюю), а также порядок сортировки самих комментариев на страницах – сверху отображаются либо новые, либо старые записи посетителей. Тут каждый должен установить настройки по своему усмотрению, мои параметры смотрите на рисунке выше.
2. Второй шаг – это подготовка шаблона. Если у вас новомодный макет, который учитывает все плюсы последних версий wordpress (в том числе и разбиение комментариев по страницам), то вам повезло. Ничего делать не нужно – просто наслаждайтесь ведением блога. В противном случае над комментариями придется «поколдовать».
В версиях wordpress старше 2.7 за вывод комментариев отвечает функция wp_list_comments(), поэтому вывод комментариев в шаблоне придется изменить так, как это описано в моей статье про древовидными комментариями в wordpress (если что там же есть ссылка на аналогичный пост еще одного специалиста по wordpress Дмитрия Донченко – тоже можете использовать).
3. Третий пункт – добавления навигации по комментариям. После правки шаблона и включения настроек в админке, вы должны получить работающее разбиение по страницам. То есть при наличии нужного числа комментариев в блоге вы увидите отображение последней их страницы, например, если к посту набралось 53 записи, а на каждой странице по 50 сообщений, то увидите всего лишь 3. Нужно добавлять навигацию, для этого используем специальные функции wordpress:
<div class="navigation1"><?php paginate_comments_links(); ?></div> <ol class="commentlist"> <?php wp_list_comments('callback=mytheme_comment'); ?> </ol> <div class="navigation2"><?php paginate_comments_links(); ?></div>
Код выше выводит до и после комментариев перечень допустимых страниц. Использую для этого функцию paginate_comments_links().
Кроме того, существуют еще 2 функции previous_comments_link, next_comments_link, которые выводят ссылку на предыдущую и следующую страницу комментариев без цифр. В общем, используйте вариант, который вам наиболее подходит.
4. После настройки всех функциональных особенностей разбиения комментариев на странице следует позаботиться о дублированном контенте. При разбиении вы получаете отдельные страницы с одинаковым текстом и разными комментариями – да, последние могут внести какое-то разнообразие в внешний вид страницы перед поисковиками, но основного теста значительно больше. В общем, нужно закрыть от индексации страницы с комментариями – для этого вам пригодится плагин Platinum SEO (очень хорошая штука). В настройках плагина есть опция «Use noindex for comment pages of posts». Активируя ее, вы получите в коде каждой страницы с комментариями запись:
<meta name="robots" content="noindex,follow" />
Что запрещает индексирование контента этой страницы. Вот, в принципе, и все:) По-моему, алгоритм ясен и предельно прозрачен. Если есть какие-то вопросы и дополнения – пишите в комментариях.
P.S. Постовой у нас сегодня необычный. Предлагаю вашему вниманию сервис рассылки сообщений UniSender, который предлагает быструю персонализированную рассылку e-mail сообщений с возможностью использования HTML и отправки файлов. UniSender обладает рядом преимуществ и уникальный возможностей, выделяющих его среди конкурентов. Во-первых, это беспроблемная рассылка – вы просто загружаете контакты клиентов и составляете письмо, все технические вопросы относительно почтовых серверов, проблем со спам листами вас не касаются. UniSender предлагает автоматизацию ведения списков рассылки – подписка, отписка, отсеивание нерабочих адресов и противостояние спаму. Также вы можете задать оформленные HTML-сообщения по своему усмотрению с помощью удобного текстового редактора, а после проведения кампании сможете проанализировать ее статистическую информацию и эффективность. В общем, UniSender позволит организовать ваши email рассылки профессионально и качественно.



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