Популярные статьи 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.

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

Насколько публикация полезна?

Оцени статью!!! Мы старались!!!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

Сожалеем, что вы поставили низкую оценку!

Позвольте нам стать лучше!

Расскажите, как нам стать лучше?

Предыдущая
Создать блог WordPressПохожие записи WordPress выводим без плагинов.
Следующая
Создать блог WordPressSEO WordPress - пошаговая инструкция по оптимизации.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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