получать сообщения() и фильтры
Я добавил пользовательскую функцию фильтра для the_posts
фильтра в плагин.
add_filter('the_posts', 'posts_filter');
function posts_filter() { … }
Это довольно хорошо работает в основном цикле, это означает, что сообщения фильтруются так, как я определил в функции posts_filter
.
Но я звоню get_posts()
в рамках запроса ajax, чтобы получить несколько сообщений. И там фильтры не работают. query_posts()
или пользовательские wp_query
тоже не работают.
Итак, вопрос в следующем: как я могу получать сообщения рядом с основным циклом, которые фильтруются фильтром the_posts
?
1 answers
the_posts
работает для всех запросов, включая основной запрос, а также пользовательские запросы, но не работает при использовании get_posts()
. Это происходит потому, что get_posts()
автоматически подавляет все фильтры. Если вы хотите использовать фильтры даже при использовании get_posts
, вы можете передать дополнительный ключ 'suppress_filters' => false
в массив, который вы передаете в качестве аргумента get_posts()