Як показувати пости у 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

Теорія кольору – поради для натхнення веб-дизайнерам

Ви коли-небудь замислювалися про те, як веб-дизайнери підбирають ідеальне поєднання кольорів? Цікавилися тим, які кольори… Read More

30/04/2021

Як стати фрілансером – дієві поради

Фріланс – це можливість спокійно і розмірено працювати вдома, не звертаючи увагу на навколишній простір,… Read More

27/04/2021

Найкрасивіші каньйони з усього світу (частина 1/2)

Протягом багатьох сотень тисяч, або навіть мільйонів років, швидка течія річок підточувала і вимивала скельні… Read More

27/04/2021

Вільям Шекспір

Чужі гріхи судити ви так ретельно любите, почніть з своїх – і до чужих не… Read More

18/04/2021

Що подарувати друзям на річницю весілля

Люди, між якими є любов і взаєморозуміння, скріплюють стосунки й народжують новий союз, а дату… Read More

13/04/2021

Авторитетність домену та його вплив на SEO просування сайту

Для якісного SEO (пошукової оптимізації, розкрутки сайту) одним з важливих показників є Авторитет домену (Domain… Read More

27/03/2021