Как показывать посты в 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

Recent Posts

Что такое OPcache: ⚡ Ускоряем PHP и WordPress

Если вы когда-либо интересовались, как ускорить свой сайт на WordPress, вы, наверное, слышали о "кешировании".…

10 часов ago

Что такое XML: невидимый инструмент для вашего сайта и SEO 📄

Когда мы говорим о веб-разработке, первое, что приходит на ум — это HTML и CSS.…

1 день ago

Что такое качественный контент 📝 и как его распознать?

В мире SEO есть фраза, которую повторяют так часто, что она уже стала клише: "Content…

2 дня ago

Как зарегистрировать торговую марку в Украине ⚖️ | Пошаговая инструкция

Создание бизнеса — это как рождение ребенка. Вы вкладываете в него душу, время и деньги.…

3 дня ago

Что такое FastCGI и PHP-FPM 🚀 | Как работает современный PHP

Когда вы только начинаете работать с PHP, кажется, что все просто: вы пишете код, веб-сервер…

4 дня ago

Установка PHP 8 на Windows 💻 | Пошаговая инструкция

Многие начинающие разработчики на Windows начинают свой путь с пакетов типа XAMPP, WampServer или Laragon.…

5 дней ago