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

Что делать начинающему программисту на старте карьеры?

После завершения начального курса по программированию вы, как начинающий программист, имеете несколько путей для дальнейшего…

19 часов ago

Что поможет сделать ваш сайт более веб-доступным?

Основная цель создания сайта – это поделиться своим контентом со всем миром. Вы хотите, чтобы…

4 дня ago

Фитолампа для зелени на балконе: Ваш секрет для здорового урожая круглый год

Фитолампа для выращивания зелени на балконе: Оптимальные условия для урожая Фитолампа для выращивания зелени на…

5 дней ago

Ключевые моменты собеседования с клиентом по разработке/дизайну сайта

Собеседование – это ценное умение, которое может помочь узнать больше о человеке, какой-либо теме или…

6 дней ago

Печать книги Львов: как быстро и выгодно напечатать книгу от 1 экземпляра

В мире, где индивидуальность имеет значение, возможность напечатать книгу во Львове даже в единственном экземпляре…

1 неделя ago

Экстернат 10–11 класс Украина: современное решение для быстрого и удобного обучения

Сегодня все больше учеников и родителей ищут альтернативу традиционной школе, выбирая более гибкие, индивидуальные и…

2 недели ago