按一个自定义字段值排序并使用Wordpress从另一个选择帖子

时间:2013-05-18 06:04:19

标签: php arrays wordpress

我正在尝试仅显示标记为in-stock的帖子,并按其inventory_number排序(这是一个数字值,因此我使用meta_value_num)。以下代码是选择in-stock项,但不是按inventory_number对帖子进行排序。我做错了什么?

$args = array(
    'numberposts' => -1, 
    'post_status'=>"publish",
    'post_type'=>"post",
    'category_name'=>"tape",
    'meta_query' => array(
            'relation' => 'AND',
            array(
                'key' => 'inventory_number',
                'orderby' => 'meta_value_num',
                'order' => 'asc'
            ),
            array(
                'key' => 'status',
                'value' => 'in-stock',
                'compare' => 'LIKE'
            )
        )
);

1 个答案:

答案 0 :(得分:1)

对于自定义字段的排序依据,查询中必须包含meta_key=keyname。另外,我认为您不希望AND子句中的订单。所以试试这个......

$args = array(
    'numberposts' => -1, 
    'post_status' => 'publish',
    'post_type' => 'post',
    'category_name' => 'tape',  
    'meta_query' => array(
        array(
            'key' => 'status',
            'value' => 'in-stock',
            'compare' => 'LIKE'
        )
    ),
    'meta_key' => 'inventory_number',
    'orderby' => 'meta_value_num',
    'order' => 'ASC'
);