Gutenberg的query loop区块如何按自定义分类法排序筛选自定义文章类型?
Gutenberg自定义文章类型操作问题解答
1. Query Loop区块自定义分类法排序支持情况
默认原生Gutenberg的Query Loop区块没有提供可视化的自定义分类法排序选项,但可以通过两种方式实现需求:
- 代码实现:在主题
functions.php文件中挂载query_loop_block_query_vars过滤器,调整Query Loop的查询参数,添加对应自定义分类法的排序规则即可生效,示例逻辑如下:
add_filter( 'query_loop_block_query_vars', function( $query_vars, $block ) { // 可添加判断条件,只对指定的Query Loop区块生效 $query_vars['orderby'] = 'custom_tax_slug'; // 替换为你的自定义分类法别名 $query_vars['order'] = 'ASC'; return $query_vars; }, 10, 2 );
- 无代码实现:安装支持自定义查询规则的Gutenberg增强插件,即可直接在区块侧边栏设置中选择自定义分类法作为排序依据。
2. 自定义分类法筛选CPT支持情况
完全支持,不需要局限于WordPress核心自带的分类、标签:
- 代码实现:同样通过
query_loop_block_query_vars过滤器给查询参数添加tax_query规则,指定要筛选的自定义分类法别名、对应分类项即可,示例逻辑如下:
add_filter( 'query_loop_block_query_vars', function( $query_vars, $block ) { $query_vars['tax_query'] = array( array( 'taxonomy' => 'custom_tax_slug', // 替换为自定义分类法别名 'field' => 'slug', 'terms' => 'target_term_slug', // 替换为要筛选的分类项别名 ) ); return $query_vars; }, 10, 2 );
- 无代码实现:主流的Gutenberg增强插件均已支持在Query Loop的筛选配置中直接选择已注册的自定义分类法,勾选对应分类项即可完成筛选设置。
内容的提问来源于stack exchange,提问作者Zorkzyd
相关产品推荐
相关产品推荐

