Чтобы проверить тип записи (post_type) в запросе на хуке pre_get_posts, вы можете использовать объект запроса $query. Вот пример кода, который показывает, как это сделать:
add_action( 'pre_get_posts', 'my_custom_pre_get_posts' );
function my_custom_pre_get_posts( $query ) {
// Проверяем, что это основной запрос и не запрос административной панели
if ( !is_admin() && $query->is_main_query() ) {
// Проверяем тип записи
if ( $query->get( 'post_type' ) === 'your_custom_post_type' ) {
// Ваш код для обработки запроса
// Например, установить количество постов на странице
$query->set( 'posts_per_page', 10 );
}
}
}
Пояснение:
- Проверка is_admin(): Убедитесь, что это не запрос в административной панели.
- Проверка is_main_query(): Убедитесь, что это основной запрос, а не дополнительный (например, в виджетах).
- $query->get(‘post_type’): Получаем тип записи текущего запроса и проверяем его. Замените
'your_custom_post_type'на свой тип записи.
Таким образом, вы сможете проверить и управлять параметрами запроса в зависимости от типа записи.
















