Итак, речь идет о выводе популярных записей.
Для чего нужно выводить популярные записи?
1). Популярные записи являются хорошей перелинковкой сайта или блога.
2). Популярные записи влияют на поведенческие факторы посетителей (помогают задержать читателя на странице и даже сделать переход).
Выводить популярные записи можно разными способами. Наипростейший – использовать плагин (такой, например, как «Wordpress Popular Posts»). Но можно сделать это и без плагина, что намного лучше и выгодней для вашего ресурса.
Иногда моя собственная лень приносит и мне немало хлопот. До сегодняшнего дня я тоже выводил популярные записи на WordPress при помощи плагина. Но, поскольку я сторонник минимального количества плагинов, то с удовольствием распрощался с еще одним плагином .
Вторую часть этой статьи я посвящу подробной инструкции, как вывести популярные записи на WordPress без плагина.
Для начала создадим счетчик просмотра записей. Для этого зайдите в админ панель => «Внешний вид» => «Редактор» => «functions.php» и вставьте в самом конце кода перед знаком ?> вот такой код:
/* количество просмотров */ function getPostViews($postID){ $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); return "0 просмотров"; } return ' Просмотров: '.$count; } function setPostViews($postID) { $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); }else{ $count++; update_post_meta($postID, $count_key, $count); } }
Пример:
Нажмите «Обновить файл». Отлично!
Теперь нужно вставить функцию для сбора статистики. Рекомендую следующий код вставлять в самом конце файла single.php (админ панель => «Внешний вид» => «Редактор» => «single.php»):
<!-- для сбора информации просмотра страницы --> <?php setPostViews(get_the_ID()); ?> <!-- / для сбора информации просмотра страницы -->
Кстати, все эти действия я расписывал в статье «Выводим количество просмотров страницы на WordPress». Вы можете почитать эту статью, если желаете вывести количество просмотров записи.
Ой, что-то я отвлекся от темы .
Теперь будем выводить популярные статьи в записях.
Даю вам разные способа, где будут выводиться популярные статьи ссылками или с миниатюрами, а также с датой и с количеством просмотров.
○ Вывод популярных статей ссылками
В файле «single.php» вставьте код в то место, где вы хотите видеть популярные записи:
<!-- Популярные статьи на bloggood.ru --> <div class="pohoji-tems"> <h2>Популярные статьи :</h2> <ul> <?php $args = array( 'posts_per_page' => 5, 'meta_key' => 'post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC' ); query_posts($args); while ( have_posts() ) : the_post(); ?> <li> <a onclick="return !window.open(this.href)" <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> </li> <?php endwhile; wp_reset_query(); ?> </ul> </div>
Обратите внимание на строку 6 – цифра указывает количество популярных записей, которые будут выводиться. У себя на блоге я выставил 5.
Вот результат как это выглядит у меня:
○ Вывод популярных статей с миниатюрами
В файле «single.php» вставьте код в то место, где вы хотите видеть популярные записи:
<!-- Популярные статьи на bloggood.ru --> <div class="pohoji-tems"> <h2>Популярные статьи:</h2> <ul> <?php $args = array( 'posts_per_page' => 5, 'meta_key' => 'post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC' ); query_posts($args); while ( have_posts() ) : the_post(); ?> <li> <a onclick="return !window.open(this.href)" href="<?php the_permalink() ?>"> <?php the_post_thumbnail('thumbnail'); ?></a> <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> </li> <?php endwhile; wp_reset_query(); ?> </ul> </div>
Обратите внимание на строку 6 – цифра указывает количество популярных записей, которые будут выводиться. У себя на блоге я выставил 5.
Вот результат, как это выглядит у меня:
○ Вывод популярных статей с миниатюрами, датой публикации, количеством комментариев и просмотров
В файле «single.php» вставьте код в то место, где вы хотите видеть популярные записи:
<!--Популярные статьи на bloggood.ru --> <div class="pohoji-tems"> <h2>Популярные статьи:</h2> <ul> <?php $args = array( 'posts_per_page' => 5, 'meta_key' => 'post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC' ); query_posts($args); while ( have_posts() ) : the_post(); ?> <li> <a onclick="return !window.open(this.href)" href="<?php the_permalink() ?>"> <?php the_post_thumbnail('thumbnail'); ?></a> <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> <br>Дата:<?php the_time(' j F Y'); ?> <br>Прокомментировано:<?php comments_number( 'пока нет', '1', '%' ); ?> <br><?php echo getPostViews(get_the_ID()); ?> </li> <?php endwhile; wp_reset_query(); ?> </ul> </div>
Обратите внимание на строку 6 – цифра указывает количество популярных записей, которые будут выводиться. У себя на блоге я выставил 5.
Вот результат, как это выглядит у меня:
Чтобы украсить популярные записи, воспользуйтесь таблицами стилей CSS для класса «.pohoji-tems».
Вот и все! До скорых встреч!!!
Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓
Последние новости категории:
Похожие статьи
Популярные статьи:
-
Как узнать id компьютера
Дата: 29 марта 2013
Прокомментировано:90
просмотров: 329815 -
Размеры форматов листов А0 – А7
Дата: 23 января 2013
Прокомментировано:3
просмотров: 274370 -
Смешные логические загадки с подвохом, отгадки прилагаются
Дата: 12 ноября 2014
Прокомментировано:5
просмотров: 220443 -
Установка windows 7 на ноутбук
Дата: 18 декабря 2012
Прокомментировано:169
просмотров: 186394 -
Готовые макеты блоков для веб-страниц на HTML и CSS
Дата: 25 июня 2014
Прокомментировано:23
просмотров: 181503
34 Ответов на комментарий - Как вывести популярные записи на WordPress без плагина
Добавить комментарий
Метки: wordpress, без плагинов
Постоянно обращаюсь к этой странице вашего блога, за помощью в реализации вывода последних записей, а спасибо так и не сказал.
Спасибо!
все объективно и понятно! Благодаря это статье до меня дошло, как вывести популярные записи из определённой рубрики!
Добрый день!
спасибо за статью, отличный материал!
Но, у меня на сайте стоит веб и мобильная версия, переключаютя темы при помощи плагина и с вашим кодом выводится записи только с одной темы на одной теме
как можно сделать так что бы собирались с просмотры с двух тем и выводились одинаковые количества на обе версии (мобильная тема и веб тема) ?
есть идея, но не знаю как реализовать: код пишется на отдельный пхп файл который собирает количество просмотров и в функциях обеих тем указывается этот файл. Получается: выводит одинаковое количество в двух разных темах
Был бы благодарен если сможете реализовать это и напишите мне!
с уважением Бектур
Пожалуйста, Слава! Приятно слышать такие хорошие слова!
Здравствуйте! Вы используете для мобильно версии сайта плагин “Плагин MobilePress“?
В плагине, для переключения мобильной версии есть своя тема (файлы сайта). Файлы имеют точно такие же названия, как и файлы для полной версии сайта (веб). Проделайте все то что написано в статье и для мобильной версии. Должно все работать.
Много раз пытался это сделать, но так и не выходило. Как только вставлял код в функции темы, сайт тут же накрывался и приходилось делать бэкап. Можете помочь?
Вы вставляете код в файле функции перед значком “?>” или после?
Честно сказать, уже не помню. Все возможно
Здравствуйте, Степан!
Пытаюсь при помощи ваших кодов разместить Популярные статьи в сайдбаре, но не получается. Если размещаю в виджете последний код, то кроме выведения двух фраз (кол-во комментариев и кол-во просмотров) больше ничего нет. Если же вставляю код сразу в сайдбар, все перекошено (два окошка для фото и записи хаотично).
Буду признательна, если подскажете, как можно решить эту проблему.
Здравствуйте, Татьяна! Этот код в виджете не вставляется. В сайдбар, можно. Что значит “перекошено” – все работает, но криво отображается или не отображаются популярные статьи?!
Степан, спасибо за ответ!
Перекошено – это так: выводятся только два окна для фото, они же “прилеплены” к левому краю сайдбара. Названий статей выводится действительно 5, но какие-то из них размещены под окном, другие – сбоку…
далее, нужно в CSS-стилях задавать внешний вид к последним записям, выравнивать и т. д.
Хорошая -удачная статья щас буду пробовать если че буду просить помощи.
Спасибо! Да, вы пишите, если что-то не получиться.
Спс за статью. Скажите пожалуйста, как обнулить все цифры…?
Пожалуйста! Я думаю, нужно искать в ответ в БД. Это задача не из легких. Если вы в WordPress-е новичок и с БД не имели дело, не рекомендую экспериментировать, так как можно наделать беду.
Получилось и с картинками.Чтобы было по горизонтали надо сделать так:
Странно, но у меня не работает стиль этого div, все остальные работают… Пробовал менять имя, кавычки, не помогло. Редактировал в админке, в стилях. Проверил на остальных элементах все норм. В чем может быть проблема?
Сергей, если Вы брали мой код, то попробуйте вот так:
Спасибо, Сергей! И Вам и Вашему сайту тоже желаю успеха!
Подскажите, как таким образом вывести миниатюры популярных записей на главной странице?
Все делаете так как написано в статье, только в последний код добавляете не в файл «single.php» а в «index.php».
здравсвуйте. Как вывести популярные статьи из определенной рубрики за последние 24 часа (новость дня) и рядом вывести популярную статью за 1 час (новость часа) по просмотрам?
Сам пробовал код написать не получилось
Здравствуйте, Степан. Подскажите, что нужно добавить в код, чтобы популярные записи выводились за определенное время (по количеству дней). спасибо.
Нашли решение?)
Артем, если честно, то я не понял, что Вера спросила у меня, может вы объясните мне и тогда я может подскажу что можно сделать.
Автор, помогите пожалуйста!
Мне надо в сайдбаре справа разместить нужные записи с миниатюрами, но чтобы я сам задавал какие записи вывести (чтобы сам вставил нужные ссылки), так что не надо всякие счетчики просмотров итд.
Почитайте вот эту статью
А как с этим же скриптом вывести популярные записи за последний месяц?
этим никак.
Можно, пожалуйста, подсказать, как зарегистрировать именно виджет? как подключить эту функцию к register_sidbar? Спасибо
Степан, подскажите пожалуйста как сделать тоже самое, но для сайдбара
Вставьте код вместо файла «single.php» в файл «Боковая колонка (sidebar.php)»
Поставил этот скрипт вывода статей на сайт , все работает спасибо!
Но вот заметил в нем один баг-
если открывается любая статья которая была на 2 месте по количеству просмотров, то счетчик просмотров срабатывает и на этой статье и на статье которая стояла на 1 месте!
Статьи в разных категориях.
И этот баг только на статье которая 2я в списке, все остальные нормально отрабатывают.
У вас на сайте такой же баг.
Где искать проблему?
Подскажите пожалуйста!