BloGGood.ru

Блог Костаневича Степана

До Нового Года осталось:

Блог на разные темы, seo-оптимизация, раскрутка сайта, создание сайта, вкусные эффекты для сайта и многое другое…

Главная » Wordpress » Как вывести популярные записи на WordPress без плагина

Как вывести популярные записи на WordPress без плагина

2014-08-05 / Вр:23:10 / просмотров: 16463

Итак, речь идет о выводе популярных записей.

Для чего нужно выводить популярные записи?
1). Популярные записи являются хорошей перелинковкой сайта или блога.

2). Популярные записи влияют на поведенческие факторы посетителей (помогают задержать читателя на странице и даже сделать переход).

Выводить популярные записи можно разными способами. Наипростейший – использовать плагин (такой, например, как «Wordpress Popular Posts»). Но можно сделать это и без плагина, что намного лучше и выгодней для вашего ресурса.

Иногда моя собственная лень приносит и мне немало хлопот. До сегодняшнего дня я тоже выводил популярные записи на WordPress при помощи плагина. Но, поскольку я сторонник минимального количества плагинов, то с удовольствием распрощался с еще одним плагином :x.

Вторую часть этой статьи я посвящу подробной инструкции, как вывести популярные записи на 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);
 }
 }

Пример:

Как вывести популярные записи на WordPress без плагина

Нажмите «Обновить файл».  Отлично!

Теперь нужно вставить функцию для сбора статистики. Рекомендую следующий код вставлять в самом конце файла single.php (админ панель => «Внешний вид» => «Редактор» => «single.php»):

<!-- для сбора информации просмотра страницы -->
<?php setPostViews(get_the_ID()); ?>
<!-- / для сбора информации просмотра страницы -->

Кстати, все эти действия я расписывал в статье «Выводим количество просмотров страницы на WordPress». Вы можете почитать эту статью, если желаете вывести количество просмотров записи.

Ой, что-то я отвлекся от темы :idea:.
Теперь будем выводить популярные статьи в записях.

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

○ Вывод популярных статей ссылками

В файле «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.

Вот результат как это выглядит у меня:

Как вывести популярные записи на 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)" 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.

Вот результат, как это выглядит у меня:

Как вывести популярные записи на 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)" 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.

Вот результат, как это выглядит у меня:

Как вывести популярные записи на WordPress без плагина

Чтобы украсить популярные записи, воспользуйтесь таблицами стилей CSS для класса «.pohoji-tems».
Вот и все! До скорых встреч!!! :smile:

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓

Получай обновления блога!!! Подпишись:

Популярные статьи:

33 Ответов на комментарий - Как вывести популярные записи на WordPress без плагина

  1. Слава

    Постоянно обращаюсь к этой странице вашего блога, за помощью в реализации вывода последних записей, а спасибо так и не сказал.

    Спасибо! ;-) все объективно и понятно! Благодаря это статье до меня дошло, как вывести популярные записи из определённой рубрики!

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Пожалуйста, Слава! Приятно слышать такие хорошие слова!

    Ответить

  2. Бектур

    Добрый день!

    спасибо за статью, отличный материал!
    Но, у меня на сайте стоит веб и мобильная версия, переключаютя темы при помощи плагина и с вашим кодом выводится записи только с одной темы на одной теме :(

    как можно сделать так что бы собирались с просмотры с двух тем и выводились одинаковые количества на обе версии (мобильная тема и веб тема) ?

    есть идея, но не знаю как реализовать: код пишется на отдельный пхп файл который собирает количество просмотров и в функциях обеих тем указывается этот файл. Получается: выводит одинаковое количество в двух разных темах ;)

    Был бы благодарен если сможете реализовать это и напишите мне!

    с уважением Бектур

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Здравствуйте! Вы используете для мобильно версии сайта плагин “Плагин MobilePress“?
    В плагине, для переключения мобильной версии есть своя тема (файлы сайта). Файлы имеют точно такие же названия, как и файлы для полной версии сайта (веб). Проделайте все то что написано в статье и для мобильной версии. Должно все работать.

    Ответить

  3. Илья

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

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Вы вставляете код в файле функции перед значком “?>” или после?

    Ответить

  4. Илья

    Честно сказать, уже не помню. Все возможно

    Ответить

  5. Татьяна

    Здравствуйте, Степан!
    Пытаюсь при помощи ваших кодов разместить Популярные статьи в сайдбаре, но не получается. Если размещаю в виджете последний код, то кроме выведения двух фраз (кол-во комментариев и кол-во просмотров) больше ничего нет. Если же вставляю код сразу в сайдбар, все перекошено (два окошка для фото и записи хаотично).
    Буду признательна, если подскажете, как можно решить эту проблему.

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Здравствуйте, Татьяна! Этот код в виджете не вставляется. В сайдбар, можно. Что значит “перекошено” – все работает, но криво отображается или не отображаются популярные статьи?!

    Ответить

    Татьяна отвечает:

    Степан, спасибо за ответ!
    Перекошено – это так: выводятся только два окна для фото, они же “прилеплены” к левому краю сайдбара. Названий статей выводится действительно 5, но какие-то из них размещены под окном, другие – сбоку…

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    далее, нужно в CSS-стилях задавать внешний вид к последним записям, выравнивать и т. д.

    Ответить

  6. Витос

    Хорошая -удачная статья щас буду пробовать если че буду просить помощи.

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Спасибо! Да, вы пишите, если что-то не получиться.

    Ответить

  7. Maras

    Спс за статью. Скажите пожалуйста, как обнулить все цифры…?

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Пожалуйста! Я думаю, нужно искать в ответ в БД. Это задача не из легких. Если вы в WordPress-е новичок и с БД не имели дело, не рекомендую экспериментировать, так как можно наделать беду.

    Ответить

  8. Сергей

    Получилось и с картинками.Чтобы было по горизонтали надо сделать так:

    <li style="float:left; width:20%; <?php if ($i%2): ?>border-left:5px solid red; <?php endif; ?> box-sizing: border-box; height:250px;padding:10px;">

    Ответить

  9. Сергей

    Странно, но у меня не работает стиль этого div, все остальные работают… Пробовал менять имя, кавычки, не помогло. Редактировал в админке, в стилях. Проверил на остальных элементах все норм. В чем может быть проблема? :oops:

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Сергей, если Вы брали мой код, то попробуйте вот так:

    .pohoji-tems ul li {
        border: 1px solid #000 !important;
    }
    

    Ответить

    Сергей отвечает:

    :?: Спасибо, Степан. Через пять минут, после того как написал комментарий, разобрался. Проблема была в плагине кэширования. Мне показалось, что я его отключил и обновил кэш. При повторной проверке оказалось, что нет. При этом, старые стили менялись, а новые естественно нет. Наверное, не самый характерный случай, но может кому и пригодиться. У вас очень интересный блог, прочитал почти все. Пишите почаще, удачи вашему блогу и высокой посещаемости.

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Спасибо, Сергей! И Вам и Вашему сайту тоже желаю успеха!

    Ответить

  10. Витос

    Подскажите, как таким образом вывести миниатюры популярных записей на главной странице?

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Все делаете так как написано в статье, только в последний код добавляете не в файл «single.php» а в «index.php».

    Ответить

  11. альберт

    здравсвуйте. Как вывести популярные статьи из определенной рубрики за последние 24 часа (новость дня) и рядом вывести популярную статью за 1 час (новость часа) по просмотрам?
    Сам пробовал код написать не получилось

    Ответить

  12. Вера

    Здравствуйте, Степан. Подскажите, что нужно добавить в код, чтобы популярные записи выводились за определенное время (по количеству дней). спасибо.

    Ответить

    Артем отвечает:

    Нашли решение?)

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Артем, если честно, то я не понял, что Вера спросила у меня, может вы объясните мне и тогда я может подскажу что можно сделать.

    Ответить

  13. Vlad

    Автор, помогите пожалуйста!
    Мне надо в сайдбаре справа разместить нужные записи с миниатюрами, но чтобы я сам задавал какие записи вывести (чтобы сам вставил нужные ссылки), так что не надо всякие счетчики просмотров итд.

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    <?php
    $id = 11; // id записи
    $post = get_post($id);
    $content = $post->post_content;
    echo $post->post_content;
    ?>
    

    Почитайте вот эту статью

    Ответить

  14. Серхио

    А как с этим же скриптом вывести популярные записи за последний месяц?

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    этим никак.

    Ответить

    Qwerty отвечает:

    Степан, подскажите пожалуйста как сделать тоже самое, но для сайдбара

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Вставьте код вместо файла «single.php» в файл «Боковая колонка (sidebar.php)»

    Ответить

  15. Сергей

    Можно, пожалуйста, подсказать, как зарегистрировать именно виджет? как подключить эту функцию к register_sidbar? Спасибо

    Ответить

Добавить комментарий

;-) :| :x :twisted: :smokes: :smile: :shock: :sad: :rose: :roll: :razz: :pop-corne: :oops: :o :mrgreen: :lol: :idea: :grin: :gazeta: :evil: :cry: :cool: :coffe: :arrow: :???: :?: :!:

Чтобы добавить в комментарий код HTML, PHP, CSS, JavaScript, нужно сделать так: [code] ваш код [/code]

Метки: ,

Мои цели на 2018-2019:

1). Закончить тему «Bootstrap»

2). Закончить тему «Все про PHP и MySQL»

3). Создать портфолио и мини интернет-магазин шаблонов

4). Довести количество статей до 800

5). Добиться посещаемости 3000 человек/сутки

6). Увеличить число подписчиков до 250

Статистика по блогу

Количество записей на блоге: 801
Количество страниц на блоге: 20
Количество рубрик на блоге: 28
Количество меток на блоге: 72
Количество комментариев на блоге: 4529