由meta_value排序的Wordpress排序不使用meta_query

时间:2014-10-13 13:23:41

标签: wordpress

我有一个模板,可以为属性提取自定义帖子类型,并按状态对其进行排序。该脚本正常工作,直到您为代理添加meta_query。它会提取正确的属性,但它不会按meta_query的状态对它们进行排序。这是查询:

$qry = array(
        'post_type' => array( 'practices-tpsg' ),
        'meta_key'  => 'wpcf-practice-state',
        'orderby'   => 'meta_value',
        'order'     => 'asc',
        'showposts' => 18,
        'paged'     =>$paged
    );

if($_GET['agent'])
{
    $qry['meta_query'] = array(
        'relation' => 'OR',
        array(
            'key' => 'wpcf-agent',
            'value' => $_GET['agent']
        ),
        array(
            'key' => 'wpcf-agent2',
            'value' => $_GET['agent']
        ),
    );
}

有人知道为什么在将meta_query添加到查询后会停止正确排序吗?

此处是指向该页面的链接:http://www.totalpracticesolutionsgroup.com/practices-for-sale/排序顺序在默认视图中正常运行,允许列表上方的州名称标题。如果从右上角的下拉列表中选择代理,则会提取正确的属性,但它们不再按状态排序。您还可以通过在网址末尾添加& debug = 1来查看查询的输出。

1 个答案:

答案 0 :(得分:0)

'orderby' => 'meta_value'替换为'orderby' => 'meta_value_num