WordPress中如何以taxonomy为键对比值查询自定义文章类型
问题原因
你当前的代码混淆了分类法查询与自定义字段(Post Meta)查询的参数:meta_query仅用于查询文章自定义字段,不能用于分类法匹配,且根层级直接写taxonomy参数的用法已经在新版WordPress中废弃。
修正后的代码
// 先对URL传入的参数做安全过滤,避免注入风险 $vendita = sanitize_text_field( $_GET['vendita'] ); $the_query = new WP_Query( array( 'post_type' => 'custom_post_type', // 'paged' => $paged, // 有分页需求时取消注释即可 'tax_query' => array( array( 'taxonomy' => 'taxonomy_name', // 替换为你实际使用的分类法别名 'field' => 'slug', // 匹配分类别名填slug,匹配分类ID填term_id,匹配分类名称填name 'terms' => $vendita, 'compare' => 'LIKE' // 若为精确匹配可改为=,查询性能更高 ) ) ) );
注意事项
- 请根据你实际要匹配的分类法字段调整
field参数值 - 如果查询无结果,可先输出
$vendita确认参数取值是否正确,同时确认对应分类法下存在匹配的分类项
内容的提问来源于stack exchange,提问作者Shahid Latif
相关产品推荐
相关产品推荐

