WP_QUERY的辅助排序(回退)

时间:2012-08-29 作者:Zach

我想要的是创建一个辅助(或默认)orderby 自定义查询的选项。以下是我所拥有的:

$post_args = array(
    \'post_type\' => $taxfunc_post_type,
    \'meta_key\'  => \'_mouldings_dimensions_height\',
    \'orderby\'   => \'meta_value_num\',
    \'order\'     => \'ASC\',
    \'paged\'     => get_query_var(\'paged\'),
    \'tax_query\' => array(
        array(
            \'taxonomy\'         => $taxfunc_tax_name,
            \'field\'            => \'id\',
            \'include_children\' => 0,
            \'terms\'            => $term_id
        )
    ),
    \'meta_query\' => array(
        array(
            \'key\' => \'special_profile\',
            \'value\' => $special_logic_serialized
        )
    )
);
我想做的是如果_mouldings_dimensions_heightNULL, 然后默认返回到title. 我确实看到了Jan\'s answer 在这一点上,这似乎是相关的,但我想我的目标是相反的。理想情况下,我还可以使用query_var[\'post_type\'] 正如最初的提问者所问,但我不确定我是否正确处理了这个问题。任何朝着正确方向的轻推都是非常可取的。谢谢

更新经过一点测试后,当多个帖子的元值相同时,它似乎会将最旧的第一个列为备用项(本例中为NULL)——希望更改此行为。

1 个回复
最合适的回答,由SO网友:Eric Holmes 整理而成

这是对当前代码的一个非常简单的修订。可以添加多个由空格分隔的“orderby”值。

\'orderby\'   => \'meta_value_num title\',
这应该保持按元值排序的优先级,并使用第二种标题排序。

结束

相关推荐

Orderby不适用于使用ID数组的QUERY_POST

我有一个ID数组,我发送给query\\u posts以获取帖子(这很好),但它似乎总是把附件(562)放在最后,即使它是最新的。还尝试了title和ASC vs DESC,但它总是最后一个?$slide_args = array( \'post_type\' => \'attachment\', \'post_status\' => \'inherit\', \'fields\' => \'ids\',