如何通过分类术语/自定义字段值来订购wp_query

时间:2017-11-10 16:31:31

标签: php wordpress

我如何通过相关的分类法首先构建一个WP查询,然后通过帖子标题(或自定义字段)来构建一个WP查询?

我的“tax_x”是用于对循环进行排序的字段的分类法 我的“tax_y”限制了这些项目,它与订单无关 我有一个custom_field_2用于产品cpt ...

中帖子的二级/子级排序
$product_args = array(
        'post_type' => 'product',
        'posts_per_page'    => '-1',
            //'orderby'         => 'slug',          
            'orderby'           => 'meta_value',
            'order'             => 'ASC',
            'meta_query' => array(
                array(
                    'taxonomy'  => 'tax_x',
                    'meta_key'     => 'custom_field_1',
                    ),
            ),

            'tax_query' => array(
                array(
                    'taxonomy'  => 'tax_y',
                    'field'     => 'id',
                    'terms'     => $this_term_id
                    ),

           ) 
    );
}

1 个答案:

答案 0 :(得分:0)

如果要使用meta_query元素的顺序,则不应使用orderby meta_value,而是可以使用orderby meta_query_array_name。

因此,让我们给tax_x meta_query数组命名,然后使用orderby那个元素。 如果你另外按帖子标题排序,那​​么你需要使用两个元素的数组作为orderby值。这是一个例子:

$product_args = array(
        'post_type' => 'product',
        'posts_per_page'    => '-1',      
            'orderby'           => array ('tax_x_meta'=>'ASC','title'=>ASC),
            'meta_query' => array(
                'tax_x_meta'=>array(
                    'value'  => 'tax_x',
                    'key'     => 'custom_field_1',
                    ),
            ),

            'tax_query' => array(
                array(
                    'taxonomy'  => 'tax_y',
                    'field'     => 'id',
                    'terms'     => $this_term_id
                    ),

           ) 
    );
}

部分"价值' => ' tax_x'"当然不清楚,我不明白分类在meta_query中做了什么。