Intereting Posts
Не удалось получить все действия (просмотр, редактирование, быстрое редактирование, корзина) и не удалять сообщение в настраиваемом типе сообщений Как отделить страницы веб-сайта от главной страницы и сделать обычай? Как вставить данные из метабокса в пользовательскую таблицу Плагин, который позволяет посетителям Как сообщение (а не facebook) и магазины нравится в обычном мета? WordPress – как заменить <! – больше -> на строку на the_content () в single.php Как я могу публиковать сообщения от автора? Есть ли способ установить единственные / множественные метки для имен терминов таксономии? Предотвращение ошибки 404 в пустом архиве даты В репозиториях «Ревизия» в wp_posts есть оригинальный тип сообщения вместо «ревизии», ID удаляется из редактора для пользователя Admin в Multi-Site WordPress + Child Theme = Я что-то упустил? Запрос SQL для возврата категорий и категорий родителей Пользовательская роль с возможностью редактирования собственной страницы Внедрение SOAP-клиента в плагин WordPress? Продолжайте получать постоянную ссылку с WP_Query?

Как я могу скрыть сообщения, которым больше 2 лет

Я хочу применить правило на своем сайте, которое отфильтровывает все сообщения в блогах, которым больше 2 лет.

Я вижу некоторые решения, которые включают в себя ручное размещение сообщений в категории и скрытие категории, но я хочу, чтобы решение полностью автоматизировалось.

Есть ли способ сказать WP, что всякий раз, когда вы захватываете сообщения, чтобы применить это правило:

if( !is_admin() ) { select posts where post date > two-years-ago-today } 

благодаря

Solutions Collecting From Web of "Как я могу скрыть сообщения, которым больше 2 лет"

Вы можете использовать крюк pre_get_posts для изменения основного запроса:

 add_action( 'pre_get_posts', 'filter_old_posts' ); function filter_old_posts($query){ if( !is_admin() && $query->is_main_query()){ add_filter('posts_where', $callback = function( $where = ''){ $where .= " AND post_date > '" . date('Ym-d', strtotime('-2 years')) . "'"; return $where; }); add_filter('getarchives_where', $callback ); } } 

Это позволит отфильтровать основные сообщения в сообщениях, чтобы вернуться к сообщениям старше двух лет.

Существует также вторая копия фильтра, использующая getarchives_where для фильтрации результатов виджетов архива.