Как показывать посты в 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 существует много различных способов сортировки статей. Кроме сортировки по дате публикации (в возрастающем, обратном или случайном порядке), вы также можете показывать статьи с использованием сортировки по дате последнего их обновления. И с помощью этой статьи вы уже знаете, как это можно сделать.
Была ли для вас эта статья полезной? Есть ли у вас определенные вопросы или замечания? Дайте нам знать об этом в комментариях ниже.
Последние посты
Генри Форд
Человек имеет два мотива поведения — один настоящий и второй, который красиво звучит Генри Форд…
Фридрих Ницше
Не нужно додумывать слишком много. Так вы создаете проблемы, которых изначально не было Фридрих Ницше…
Такой разный инвертор! Выбираем между кондиционерами Inverter, Inverter DC и Full DC
Лето в разгаре, а значит самое время задуматься о покупке кондиционера. Но как не потеряться…
Омар Хайям
Настоящий друг — это человек, который в глаза тебе выскажет все, что о тебе думает,…
Полезные советы по выбору раздвижной двери
Следует знать, что функциональность и дизайн работают рука об руку, когда вы используете раздвижную дверь.…
View Comments
Не работает. Поможете с настройкой?