У меня установлен плагин для отслеживания популярных постов — WordPress Popular Posts. Однако, кроме возможности вывести виджет на sidebar‘е никакого другого удобного API нет. Конечно, можно сильно поизголяться над единственной функцией get_mostpopular(), но назвать ее функциональность удобной невозможно. В результате пришлось добавить еще одну функцию, get_mostpopular_array() которая работает почти так же, только возвращает массив эелементов типа $post. Это очень удобно, т.к. теперь есть быстрый доступ к любой(!) характеристике записи (post_title, ID, post_date, post_author, post_content, … полный список ТУТ). Мне это сильно облегчило жизнь, т.к. при таком подходе гораздо легче настроить вывод популярных записей в определнном стиле/разметке. Например:
<?php
$popular_posts = wpp_get_mostpopular_array('range=monthly&order_by=views');
foreach ($popular_posts as $post) {
?>
<div class="home_recent_post">
<a href="<?php echo get_permalink($post->ID); ?>"
title="<?php echo $post->post_title; ?>" />
<?php echo $post->post_content; ?>
</a>
</div>
<?php
}
?>
Для всех, кто тоже использует этот плагин и хочет иметь большую гибкость для вывода популярных записей своего wordpress блога, рекомендую попробовать этот новый метод. Для этого нужно:
- скачать и распаковать файл wordpress-popular-posts.php (работает с плагином WordPress Popular Posts версии 2.2.1)
- залить его сюда → <путь до вашего сайта>/wp-content/plugins/wordpress-popular-posts (там уже есть такой файл, придется его заменить на мой)
- все!
Небольшой туториал по аргументам, которые может принимать функция get_mostpopular_array($args):
- limit — максимальное количество популярных записей
- range — за какой период искать популярные записи: »daily«, «weekly«, «monthly«, «all«
- order_by — сортировка выводимых записей: »comments«, «views«, «avg» (просмотры в день)
- cats_to_exclude — какие категории исключить, например: cats_to_exclude=»1,55,74″
Все эти аргументы хорошо описаны в Help секции плагина.




Discussion