【问题标题】:How do I use a tax_query and a meta_query in wordpress succesfully?如何在 wordpress 中成功使用 tax_query 和 meta_query?
【发布时间】:2025-11-27 08:05:01
【问题描述】:

这是我正在使用的代码:

$results = array(
                'post_type' => 'score',
                'tax_query' => array(
                    array(
                        'taxonomy' => 'competitions',
                        'field' => 'slug',
                        'terms' => $tax->slug,
                        'compare' => '='
                    )
                ),
                'meta_query' => array(
                    array(
                        'numberposts'   => -1,
                        'post_type' => 'score',
                        'meta_key'     => 'horse_name',
                        'meta_value'   => $horsename,
                        'compare' => 'LIKE'
                    )
                )
           );

// query
$the_query = new WP_Query($results);

问题是我不知道如何创建一个布尔 AND 表达式,以便在返回帖子之前分类和自定义字段都应该匹配。

【问题讨论】:

    标签: php wordpress meta-query


    【解决方案1】:

    我修改了你的代码。检查下面的代码。

    $results = array(
        'post_type'        => 'score',
        'posts_per_page'   => -1,
        'tax_query'        => array(
            array(
                'taxonomy' => 'competitions',
                'field'    => 'slug',
                'terms'    => $tax->slug,
                'compare'  => '='
            )
        ),
        'meta_query' => array(
            array(
                'meta_key'   => 'horse_name',
                'meta_value' => $horsename,
                'compare'    => 'LIKE'
            )
        )
    );
    // query
    $the_query = new WP_Query( $results );
    

    【讨论】:

    • 这似乎并没有改变关于使表达式成为布尔 AND 的任何内容。我需要根据分类术语和自定义字段术语选择帖子。
    • 我修复了你的代码。您正在元中传递'numberposts' => -1, and 'post_type' => 'score',。查询错误。
    • 谢谢,但仍然不能解决我需要分类法和自定义字段的 AND 组合的问题
    • 您不能根据当前查询在tax_querymeta_query 之间添加AND,这将仅显示那些具有您定义的税号和您传递的元值的数据。
    • 那么有办法解决这个问题吗?
    最近更新 更多