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

Эрнест Хемингуэй

Если вас что-то ранит, значит, вам не все равно Эрнест Хемингуэй  

3 дня ago

Как создать собственный URL-адрес для входа в WordPress

По умолчанию после каждой установки WordPress есть три основных URL-адреса для входа в админку: {домен}/wp-admin.php,…

4 дня ago

Как отслеживать производительность фрилансера без сложного софта

Производительность – это валюта фрилансера. Когда ты работаешь сам на себя, никто не спросит: "Сколько…

5 дней ago

Уоррен Баффетт

Требуется 20 лет, чтобы создать репутацию, но 5 минут, чтобы ее разрушить. Если вы подумаете…

1 неделя ago

Как создать простое переключение цветового оформления сайта (CSS и JavaScript)

Если вы хотите добавить на свой сайт возможность переключения между светлым/темным цветовым режимом, тогда вы…

2 недели ago

Зиг Зиглар

Тебя определяют две вещи: твое терпение, когда у тебя ничего нет и твое поведение, когда…

2 недели ago