我正在尝试使用pre_get_posts过滤器修改自定义帖子类型查询:
function custom_query( $query ) {
$meta_query = array(
array(
'taxonomy' => 'a_tax_name',
'field' => 'slug',
'terms' => 'a-slug-name'
)
);
$query->set('tax_query', $meta_query);
return $query;
}
add_action('pre_get_posts', 'custom_query');
它可以工作,但查询也适用于我页面上的所有查询(菜单项、侧边栏、页脚等)。我只希望它修改自定义帖子类型查询。我尝试在函数中添加:
if( $query->is_main_query() ) {
return;
}
或者
if ( 'my_custom_post_type' !== get_post_type() ) {
return;
}
但不工作。如何pre_get_posts仅在自定义帖子类型上使用过滤器?
蓝山帝景
有只小跳蛙
随时随地看视频慕课网APP