Установите разные posts_per_page для пользовательских типов сообщений / таксономии

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

add_action('init', 'create_post_types'); function create_post_types() { register_taxonomy('tips-and-tricks-taxonomy', 'tat', array( 'hierarchical' => true, 'label' => 'Destinations (Tips)', 'singular_label' => 'Destination (Tips)', 'rewrite' => array('slug' => 'tips-and-tricks', 'with_front' => false), 'public' => true, 'show_ui' => true, 'show_tagcloud' => true, '_builtin' => true, 'show_in_nav_menus' => true)); register_post_type('tat', array( 'labels' => array( 'name' => __('Tips and tricks'), 'singular_name' => __('Tip'), 'add_new' => __('Add new tip'), 'edit_item' => __('Edit tip'), 'new_item' => __('New tip'), 'view_item' => __('View tip'), 'search_items' => __('Search tips and tricks'), 'not_found' => __('No tips and tricks found'), 'not_found_in_trash' => __('No tips and tricks found in trash')), 'has_archive' => true, 'public' => true, 'supports' => array('title', 'editor', 'post-formats') )); } 

Затем я попытался изменить количество сообщений, показанных ниже:

 function get_all_tat_posts($query) { if(!is_admin() && $query->is_main_query() && is_post_type_archive('tat')) { $query->set('posts_per_page', '-1'); } } add_action('pre_get_posts', 'get_all_tat_posts'); 

При отладке я получаю $query->is_main_query() и is_post_type_archive('tat') и возвращает false. Я не знаю, почему я получаю эту ошибку, так как все, что я делаю, это перейти на страницу стандартной категории для этого настраиваемого типа сообщений. Я не изменяю запрос каким-либо другим способом, и я сам не создаю запрос.

Любые идеи о том, что я могу делать неправильно?

Solutions Collecting From Web of "Установите разные posts_per_page для пользовательских типов сообщений / таксономии"

Страница таксономии не является архивом почтового типа. is_tax() этого используйте is_tax() . Кроме того, is_main_query() может быть неудачным, потому что это не основной запрос. Я знаю, очевидное право. Без остальной части вашего php-кода это трудно сказать. Но «основным» запросом будет запрос, получающий все сообщения с этой категорией. Если этот запрос является is_main_query() или вторичным, is_main_query() завершится с ошибкой.