За замовчуванням у 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 існує багато різних способів сортування статей. Окрім сортування по даті публікації (у зростаючому, зворотному або випадковому порядку), ви також можете показувати статті з використанням сортування за датою останнього їх оновлення. І за допомогою цієї статті ви вже знаєте, як це можна зробити.
Чи була для вас ця стаття корисною? Чи є у вас певні питання чи зауваження? Дайте нам знати про це у коментарях нижче.
Коли власник стоматологічної клініки вперше замислюється про автоматизацію, він нерідко іде найпростішим шляхом: гуглить "CRM…
Алоха! Останні кілька років остаточно закріпили тренд на віддалену роботу. Для веб-розробників, DevOps-інженерів та адміністраторів…
Пошукові системи стрімко змінюються, і те, що працювало вчора, сьогодні може стати неактуальним. Грамотне geo…
Здається, пиво — простий напій: чотири інгредієнти, зрозуміла технологія. Але ті самі хміль, солод, дріжджі…
У сучасній IP-телефонії важливу роль відіграє технологія, яка забезпечує передачу голосу через інтернет між бізнесом…
Вибір робочої машини для веб-розробника або адміністратора серверів є завжди компромісом між портативністю, автономністю і…