крючок или фильтр на пост-шоу

Какой хук / фильтр я должен использовать, чтобы не отображать посты в моем блоге (например, если пост был написан за последний год).
Я хочу использовать ловушку / фильтр, а не код в шаблоне, чтобы плагины или RSS-канал не могли получить к нему доступ

0

Решение

Ты можешь использовать pre_get_posts() действие, этот крюк называется после
объект переменной запроса создан, но до того, как
запустить. Таким образом, вы должны использовать его с другими условиями.

Вот пример кода:

function wh_getThisYearPost($query)
{
if (($query->is_home()) //<-- for home page
|| $query->is_feed() //for feed
|| $query->is_search() // for search
)
{
//to get post from current year only.
$query->set('year', date('Y'));
}
}

add_action('pre_get_posts', 'wh_getThisYearPost');

Код помещается в файл function.php вашей активной дочерней темы (или темы). Или также в любом файле плагина php.

Обратите внимание: приведенный выше код не будет работать на вашем WP_Query Вы вручную добавили Параметры даты в этом запросе.

Надеюсь это поможет!

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]