Как показывать посты в WordPress по дате их обновления

По умолчанию в WordPress все посты сортируются по дате их публикации. Например, в виджетах, в архивах и категориях. Но иногда нужна возможность показывать посты блога по дате их обновления. Например, вам нужно показывать блок с последними 10 статьями в определенном блоке на сайте, но чтобы эти статьи сортировались по дате их последнего обновления. Предположим, что вам нужен блок статей с условным названием типа «Последние обновления статей». И в этом блоке показывать статьи, которые вы публиковали достаточно давно, но информация в которых недавно обновилась.

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

 

 

Каждый раз, когда вы обновляете публикацию (даже если вы сделали небольшие корректировки статьи), WordPress хранит дату и время этого обновления в базе данных в качестве последней даты обновления. Чтобы показывать посты в WordPress по дате их обновления, нам нужно будет сделать запрос к базе данных, и затем отсортировать новости по дате обновления. Для решения этой задачи можно использовать совсем небольшой кусок кода. Скопируйте и вставьте этот код в файл functions.php вашей активной темы:

 

function recentlyupdated_posts_list() {
 //аргументы запроса
 $recentlyupdated_args = array(
  'orderby' => 'modified',
  'ignore_sticky_posts' => '1'
 );

 //цикл для показа последних 10 обновленных статей
 $recentlyupdated_loop = new WP_Query( $recentlyupdated_args );
 $counter = 1;
 $ullist .= '<ul>';
 while($recentlyupdated_loop->have_posts() && $counter < 10 ) : $recentlyupdated_loop->the_post();
  $ullist .= '<li><a href="' . get_permalink( $recentlyupdated_loop->post->ID ) . '"> ' . get_the_title( $recentlyupdated_loop->post->ID ) . '</a> (Обновлено: '. get_the_modified_date() .') </li>';
  $counter++;
 endwhile;
 $ullist .= '</ul>';
 return $ullist;
 wp_reset_postdata();
}
//добавляем шорткод (shortcode)
add_shortcode('recentlyupdated-posts', 'recentlyupdated_posts_list');

 

 

Вот и все. Теперь, если вы хотите показывать последние обновленные статьи на сайте, просто добавьте следующий код в нужный файл-шаблон (например, category.php) вашей темы:

<?php
if (function_exists(recentlyupdated_posts_list)) :
  recentlyupdated_posts_list();
endif;
?>

 

А чтобы вставлять блок последних обновленных публикаций в постах, страницах или виджетах WordPress, вы можете использовать шорткод [recentlyupdated-posts].

 

В WordPress существует много различных способов сортировки статей. Кроме сортировки по дате публикации (в возрастающем, обратном или случайном порядке), вы также можете показывать статьи с использованием сортировки по дате последнего их обновления. И с помощью этой статьи вы уже знаете, как это можно сделать.

 

Была ли для вас эта статья полезной? Есть ли у вас определенные вопросы или замечания? Дайте нам знать об этом в комментариях ниже.

 

View Comments

Последние посты

Робин Шарма

Действуй так, словно неудача просто невозможна, а успех обеспечен Робин Шарма  

13/09/2024

Уроки SQL — как найти повторяющиеся записи (дубли) в базе данных

Во-первых, чтобы не допустить подобных ситуаций, вам заранее нужно присваивать уникальные значения в таблицах. Так…

08/09/2024

Ремонт или покупка новой шины? Варианты ремонта резины

Заплатка на шине, как правило, - это простой и дешевый вариант по сравнению с покупкой…

03/09/2024

Гигиена кота: основные правила и рекомендации ветеринаров

Коты относятся к чистоплотным животным — приблизительно половину своей жизни они тратят на «гигиенические процедуры».…

27/08/2024

Брюс Ли

Дисциплина — это не ограничение свободы. Это отсечение всего лишнего Брюс Ли  

25/08/2024

Сборные быстровозводимые дома – основное, что нужно знать

Что-то готовое к употреблению, как пицца или лапша, уже давно заняло почетное место в нашей…

23/08/2024