Когда мы публиковали статью о том, как вывести наиболее комментируемые записи в 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.
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.
