Как сделать список самых обсуждаемых публикаций в WordPress

Коментарі у WordPress

Автор:

Юрий Миронов

Эксперт по поисковой оптимизации и продвижению сайтов


Теги: , ,

Часто возникает необходимость сделать на блоге список самых обсуждаемых постов в сайдбаре. Особенно если блог достаточно популярен и хочется выделить те темы, которые вызвали самые острые дискуссии. А как же сделать такой список - читайте дальше.

Здесь есть 2 пути: простой и немного посложнее. В первом случае можно воспользоваться каким-то из готовых виджетов или плагинов для WordPress и не заморачиваться лишними вопросами. Это может быть например плагин WordPress Popular Posts или виджет Most Commented Widget.

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

А вот и сам код:

<?php $result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts
ORDER BY comment_count DESC LIMIT 0 , 5");
foreach ($result as $post) {
setup_postdata($post);
$postid = $post->ID;
$title = $post->post_title;
$commentcount = $post->comment_count;
if ($commentcount != 0) { ?>
<li><a href="<?php echo get_permalink($postid); ?>" >
<?php echo $title ?></a> (<?php echo $commentcount ?>)</li>
<?php } } ?>

Вставить этот код можно в шаблон боковой колонки (сайдбара), который можно найти в редакторе дизайна в админке Вордпресса. Скорее всего он будет называться sidebar.php.

Read also:   Как определить оптимальную цену в Sape

В коде выделенное жирным число 5 определяет, какое количество постов будем выводить в списке. Этот фрагмент кода (<?php echo $commentcount ?>) позволяет вывести информацию о количестве комментариев в каждой отдельной публикации. Если Вам это не нужно, то просто удалите данный кусок кода. Также теги <li> и <li> можно убрать или заменить на другие, в зависимости от того, каким должно быть оформление самого списка.


Be the first to comment on "Как сделать список самых обсуждаемых публикаций в WordPress"

Leave a comment

Your email address will not be published.


*