Я использую Timber для Wordpress, и когда я использую пользовательский запрос в archive.php для получения сообщений пользовательского типа, он возвращает сообщения нескольких типов.
Я пробовал точно такой же запрос в page.php, и он отлично работал.
Вот запрос, который я использую:
global $paged;
if (!isset($paged) || !$paged){
$paged = 1;
}
$args = array(
'post_type' => 'horse',
'orderby' => 'title',
'order' => 'ASC',
'posts_per_page' => 20,
'paged' => $paged
);
$context['horses'] = new Timber\PostQuery( $args );
Я ожидал бы, что вернутся все элементы типа записи 'лошадь', но другие типы записей также смешаны.
Есть идеи, почему это может происходить?
Я не уверен, связано ли это с этим, но я также добавил это в functions.php внутри класса StarterSite, чтобы добавить свой собственный тип записи на страницу архива:
function namespace_add_custom_types( $query ) {
if( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {
// Get all your post types
$post_types = get_post_types();
$query->set( 'post_type', $post_types );
return $query;
}
}
И это было добавлено к существующей функции с именем __construct
:
add_filter( 'pre_get_posts', array($this, 'namespace_add_custom_types') );