Выводим наиболее комментируемые записи в WordPress без плагина

Когда мы публиковали статью о том, как вывести наиболее комментируемые записи в WordPress, мы говорили о плагине, чтобы облегчить жизнь новичкам в ВП. Однако некоторые пользователи спросили, существует ли способ вывести наиболее комментируемые записи без установки плагина.

Это очень полезно, если вы постигаете азы разработки тем для WordPress и не хотите использовать плагин.

Заметьте, что этот способ может не подойти новчикам. Если вас смущает работа с кодом, тогда вам лучше воспользоваться нашей статье по выводу наиболее комментируемыех записей в WordPress с помощью плагина.

Давайте начнем с того, что вам необходимо добавить следующий код в файл functions.php вашей темы или в плагин для сайта WordPress:

function devise_most_commented_posts() { 
// начало буферизации вывода
ob_start();
?>
<ul class="most-commented">
<?php 
// Выполняем WP_Query
// изменяем значение posts_per_page для указания ограничения на количество записей
$query = new WP_Query('orderby=comment_count&posts_per_page=10'); 

//начало цикла
while ($query->have_posts()) : $query->the_post(); ?>

<li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a> <span class="devise-comment-count"><?php comments_popup_link('No Comments;', '1 Comment', '% Comments'); ?></span></li>
<?php endwhile; 
// конец цикла
?>
</ul>
<?php

// отключаем буферизацию вывода
 $output = ob_get_clean(); 

//Возвращаем результат
return $output; 
}
// Создаем шорткод
add_shortcode('devise_most_commented', 'devise_most_commented_posts'); 

//Активируем выполнение шорткода в текстовых виджетах
add_filter('widget_text', 'do_shortcode');

Этот код выполняет запрос к базе данных и выбирает 10 наиболее комментируемых записей от большего к меньшему. Мы использовали буферизацию вывода, поэтому мы можем использовать код для создания шорткода.

Последняя строка активирует выполнение шорткода в текстовых виджетах. Теперь, для того, чтобы вывести результаты, все, что нужно сделать, это добавить шорткод [devise_most_commented] в текстовый виджет или в любую запись либо страницу WordPress.

<?php the_post_thumbnail(array(40,40)); ?>

Значение, использованное в массиве, определит произвольный размер для миниатюр. Можете модифицировать его на свое усмотрение.

Для стилизации вывывода результата можно использовать классы .most-commented и .devise-comment-count в таблице стилей вашей темы. Для начала можно взять следующий CSS код:

.most-commented li { 
border-bottom:1px solid #eee; 
padding-bottom:3px; 
} 
.most-commented li :after { 
clear:both;
} 
.most-commented img { 
padding:3px;
margin:3px;
float:left;
}
.devise_comment_count a, .devise_comment_count a:active, .devise_comment_count a:visited, .devise_comment_count a:hover { 
color:#FFF;
} 

Надеемся, что эта статья помогла вам вывести наиболее комментируемые записи в WordPress юез установки нового плагина. Не стесняйтесь экспериментировать с кодом и css.

По всем вопросам и отзывам просьба писать в комментарии ниже.

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

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top