Популярные статьи WordPress выводим без плагинов.

Популярные статьи WordPress выводим без плагинов

Привет дорогой друг, сегодня на WebMasterMaksim.ru, я напишу маленькую заметку и расскажу как вывести блок популярные статьи WordPress без плагинов.

Итак, о важности внутренней перелинковки я уже сказал не мало и повторяться не буду, скажу только, что это очень важно в плане seo wordpress.

Популярные статьи WordPress выводим без плагинов
Популярные статьи WordPress выводим без плагинов

Постоянные читатели моего блога знают, что я все стараюсь реализовать без плагинов, вот все статьи этой темы:

А вот видео о перелинковке:


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

Код вывода популярных статей WordPress по количеству просмотров.

Вот удобное решение вывода популярных статей, для этого нужно вставить код в файл functions.php вашей темы:

[php]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);
}
}
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;
}[/php]

Далее код счетчика нужно вставить в файл single.php внутрь цикла loop:

[php]<!—?php setPostViews(get_the_ID()); ?—>[/php]

И выводим список популярных статей путем вставки последнего кода в нужное место вашей темы, допустим в сайтбар:

[php]
<div class="popular">
<h3 class="widget-title">Популярные статьи</h3>
<ul>
<?php
$args = array( ‘numberposts’ => 5, ‘meta_key’ => ‘post_views_count’, ‘orderby’ => ‘meta_value_num’, ‘order’ => ‘DESC’ );
query_posts($args);
while ( have_posts() ) : the_post();
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; wp_reset_query(); ?>
</ul>
</div>
[/php]

Разумеется чтобы блок популярных статей вписывался в дизайн вашего сайта нужно задать правила в вашем файле стилей, а в самом коде уже предусмотрен контейнер popular.

numberposts’ => 5 — отвечает за число выводимых ссылок.

Код вывода популярных статей WordPress по количеству комментариев.

Этот код будет выводить популярные статьи основываясь на количество комментариев за определенный период времени.

[php]
<div class="popular">
<h3 class="widget-title">Популярные статьи</h3>
<ul>
<?php
$posts_qty = 5;
$period = 90;
$interval = date(‘Y-m-d’, strtotime("-$period days"));
$result = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = ‘post’ AND post_status = ‘publish’ AND post_date > ‘$interval’ ORDER BY comment_count DESC LIMIT 0 , $posts_qty");
foreach ($result as $post) : setup_postdata($post);
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> (<?php comments_number(‘0’, ‘1’, ‘%’); ?>)</li>
<?php endforeach; ?>
</ul>
</div>
[/php]

Как вы видете в коде настроен отбор пяти статей за 90 дней, вы можете поменять эти параметры на ваши, путем изменения $posts_qty = 5 $period = 90.

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

1 Звезда ХЕРНЯ!2 Звезды ЧИТАЛ И СПАЛ3 Звезды НУ МОЖНО ПОЧИТАТЬ4 Звезды НРАВИТСЯ!5 Звезд КРУТО! (2 оценок, среднее: 5,00 из 5)
Загрузка...

26 thoughts on “Популярные статьи WordPress выводим без плагинов.

  1. Супер! Спасибо Макс, очень помогло! Полезный сайт ;)

  2. Здравствуйте!

    Во время работы допустила ошибку, не сохранила исходный код. Что-то, наверное, не так ввела. Теперь все пути на сайт закрыты, пишет:
    Синтаксическая ошибка : синтаксическая ошибка, неожиданный конец $ в / home/u733067008/public_html/wp-content/themes/mantra/functions.php на линии 44

    Вы мне можете помочь?

  3. Ксения, так восстановите из бекапа файл functions.php и все заработает. А вообще прежде чем что-либо делать нужно сохранять файл.

  4. Добрый день! Ваш код прекрасно выводит записи по количеству просмотров, но единственная проблема — он выводит исключительно по 10 записей. Здесь «numberposts’ => 5» я ставил разное значение, но ничего не менялось. Как это исправить?

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

  6. Всё установил, всё работает, одна проблема — “numberposts’ => 5″ а выводится больше записей. Как быть?

  7. Только не бейте! Поковырялся в Нете и нашёл решение!

    Вместо numberposts надо писать posts_per_page

    Всё работает как надо и никаких гвоздей. А так спасибо вам за идею. Код скопировал и буду хранить в отдельном файле.

  8. Да вроде должно работать, у меня работает, может у вас кэш установлен, попробуйте обновить.

  9. Кэша нет. Блог на стадии создания. Просто тупо пишешь posts_per_page и всё работает

  10. А как сделать вывод с изображениями?

  11. Благодарю за быстрый ответ. Сегодня обязательно ознакомлюсь.
    У меня ещё вопрос по данной теме. Скажите пожалуйста, а зачем нужна строка

    ?
    У меня без неё работает. К тому же она закомментирована.

  12. Здравствуйте. Помогите. Я решил сделать как вы говорили. Но у меня не получилось. Сначала я в functions.php и single.php вставил код, а зятем его удалил. После этого у меня начали появляться ошибки. Когда жму открыть панель, для входа у меня выбивает ошибку

    Помогите войти в панель.

  13. Здравствуйте Valery! Зайдите в с-панель хостинга найдите файл в котором вносили изменения и удалите тот код который вы вставили! Но в вашем случае наверно нужно сделать откат (я надеюсь ваш хостинг делает резервное копирование). Вы наверное не туда установили код!

  14. В файле style.css вашей темы прописываются все стили.

  15. Подскажите, пожалуйста, при подсчете по количеству посещений, как ограничить период подсчета (как при подсчете по количеству комментов)? А то у некоторых статей бывают всплески на день-два, а они постоянно занимают звание популярной…

  16. А как сделать вывод популярных рубрик?

  17. Евгений, для вывода популярных, тоже есть свой код вывода. у меня они выводится по количеству комментариев к статье. В интернете можно найти.

  18. Спасибо большое, профессиональное решение, лучше не нашел! Автору огромная благодарность!

  19. а как выводить не рейтинг постов за все время а за 30 дней к примеру (т.е. счетчик сбрасывается каждые 30 дней )?
    Без возможности сброса счетчика польза от кода сомнительна. С ним в блоке навечно пропишутся статьи с большим возрастом, набравшие за все время наибольшее количесво просмотров..новые актуальные посты в рейтинг не попадут даже если будут иметь в текущем периодле фантастическое количество ежедневных просмотров

  20. «…Далее код счетчика нужно вставить в файл single.php внутрь цикла loop:…»

    single.php — это страница записи, в записях выводят саму запись, обычно одиночно, при чем тут цыкл?

  21. какие то кривые коды! ничего не работает! дело в то как она здесь выводятся! Может и работают, но вот буфер криво копирует!

  22. Спасибо, нашел нужный код :)
    Но у меня к вам есть один вопрос. Как сделать, чтоб записи выводились в слайдере?

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *