Як показувати пости у 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 існує багато різних способів сортування статей. Окрім сортування по даті публікації (у зростаючому, зворотному або випадковому порядку), ви також можете показувати статті з використанням сортування за датою останнього їх оновлення. І за допомогою цієї статті ви вже знаєте, як це можна зробити.

 

Чи була для вас ця стаття корисною? Чи є у вас певні питання чи зауваження? Дайте нам знати про це у коментарях нижче.

 

Recent Posts

Що таке FastCGI та PHP-FPM 🚀 | Як працює сучасний PHP

Коли ви тільки починаєте працювати з PHP, здається, що все просто: ви пишете код, веб-сервер…

6 години ago

Встановлення PHP 8.4 на Windows 💻 | Покрокова інструкція

Багато розробників-початківців на Windows починають свій шлях з пакетів типу XAMPP, WampServer або Laragon. Це…

1 день ago

Як створити кастомну сторінку реєстрації WordPress — без плагінів

Коли ви встановлюєте WordPress, він люб'язно надає вам стандартну сторінку реєстрації за адресою wp-login.php?action=register. Вона…

1 тиждень ago

Як знайти сенс у своєму житті – 4 прості кроки

Це може звучати як заголовок якоїсь книжки з психології, або саморозвитку, однак це дійсно важлива…

1 тиждень ago

Що таке віртуалізація KVM – для початківців

Чи замислювалися ви коли-небудь, як ваш фізичний сервер, один шматок "заліза", перетворюється на десяток незалежних…

1 тиждень ago

Інфраструктура за підпискою: що дає хостинг

Хостинг - це не просто оренда серверів, а ціла модель використання інфраструктури мережі. Вона виникла…

2 тижні ago