Исключить тип сообщения с pre_get_posts?

Я использую pre_get_posts для отображения пользовательского архива таксономии. Теперь я добавил сообщение типа «фотография», использующее одну таксономию с типом сообщения по умолчанию. Как я могу исключить сообщения «фото», получаемые циклом архива таксономии, путем обновления моей существующей функции?

function my_breakfast_query ( $query ) { // not an admin page and is the main query if (!is_admin() && $query->is_main_query()){ if (is_tax( 'food', 'breakfast' )){ $tax_query = array( 'relation' => 'OR', array( 'taxonomy' => 'category', 'field' => 'id', 'terms' => array( 366 ) ), array( 'taxonomy' => 'food', 'field' => 'id', 'terms' => array( 364 ) ) ); $query->set('tax_query', $tax_query); } } } add_action( 'pre_get_posts', 'my_breakfast_query' ); 

Solutions Collecting From Web of "Исключить тип сообщения с pre_get_posts?"

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

 function my_breakfast_query ( $query ) { // not an admin page and is the main query if (!is_admin() && $query->is_main_query()){ if (is_tax( 'food', 'breakfast' )){ $tax_query = array( 'relation' => 'OR', array( 'taxonomy' => 'category', 'field' => 'id', 'terms' => array( 366 ) ), array( 'taxonomy' => 'food', 'field' => 'id', 'terms' => array( 364 ) ) ); $query->set('post_type','post'); // Added this line to get a working solution $query->set('tax_query', $tax_query); } return $query; // Added this line to get a working solution } } add_action( 'pre_get_posts', 'my_breakfast_query' );