使用ACF在Wordpress中查询分类或两个选择列表

时间:2017-09-04 23:31:10

标签: php wordpress advanced-custom-fields

如何为查询重新编码此$ args,以便触发时的任何一个过滤条件都能正常工作?这是我的代码。我个人测试了所有过滤器并且工作正常......但是将它们组合在一起,我就卡住了。一个过滤器是分类法,另外两个是选择列表。我正在使用ACF。

$args = array(

            'post_type' => 'pathway',
            'post_status' => 'publish',
            'posts_per_page' => -1,
            'orderby' => 'date',
            'order' => 'DESC',

            'tax_query' => array(
                array(
                    'taxonomy' => 'uni_tax',
                    'field'    => 'slug',
                    'terms'    => $the_university_filter,
                ),
            ),

            'meta_query' => array(
                array(
                    'meta_key' => 'entry_level',
                    'meta_value' => $the_entrylevel_filter,

                )
            )

            'meta_query' => array(
                array(
                    'meta_key' => 'state',
                    'meta_value' => $the_state_filter,

                )
            )

       );

1 个答案:

答案 0 :(得分:0)

试试这个

$args = array(
    'post_type' => 'pathway',
    'post_status' => 'publish',
    'posts_per_page' => -1,
    'orderby' => 'date',
    'order' => 'DESC',

    'tax_query' => array(
        array(
            'taxonomy' => 'uni_tax',
            'field'    => 'slug',
            'terms'    => $the_university_filter,
        ),
    ),

);

if ( isset($_POST['entry_level_filter'] ) {
    $args['meta_query'][] = array(
        'key' => 'entrylevel',
        'value' => $the_entrylevel_filter,
    );
}

if ( isset($_POST['state_filter'] ) {
    $args['meta_query'][] = array(
        'key' => 'state',
        'value' => $the_state_filter,
    );
}

请根据需要修改查询参数。如果您有与meta_query组合相关的任何问题,请与我们联系。

$_POST['entry_level_filter']只是假设该变量将用于发送数据。请根据需要处理决策变量。