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

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

Итак, о важности внутренней перелинковки я уже сказал не мало и повторяться не буду, скажу только, что это очень важно в плане seo 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. 5
  2. 4
  3. 3
  4. 2
  5. 1
(18 голосов, в среднем: 3.6 из 5)
загрузка...

Отправить ответ

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

Notify of
avatar
Sort by:   newest | oldest | most voted
GeLnx
Гость

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

Ксения
Гость

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

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

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

Евгений
Гость

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

Канадец
Гость

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

Канадец
Гость

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

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

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

Канадец
Гость

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

Анатолий
Гость

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

Анатолий
Гость

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

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

Valery
Гость

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

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

Vic776
Гость

как задать правило стилей

Борис
Гость

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

Евгений
Гость

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

Артем
Гость

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

Serg
Гость

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

Gran Torino
Гость

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

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

Руслан Лемеш
Гость

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

Виктор
Гость

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

wpDiscuz
↑ Получай комментарии на E-MAIL