我想要的是创建一个辅助(或默认)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_height
是
NULL
, 然后默认返回到
title
. 我确实看到了
Jan\'s answer 在这一点上,这似乎是相关的,但我想我的目标是相反的。理想情况下,我还可以使用
query_var[\'post_type\']
正如最初的提问者所问,但我不确定我是否正确处理了这个问题。任何朝着正确方向的轻推都是非常可取的。谢谢
更新经过一点测试后,当多个帖子的元值相同时,它似乎会将最旧的第一个列为备用项(本例中为NULL)——希望更改此行为。
最合适的回答,由SO网友:Eric Holmes 整理而成
这是对当前代码的一个非常简单的修订。可以添加多个由空格分隔的“orderby”值。
\'orderby\' => \'meta_value_num title\',
这应该保持按元值排序的优先级,并使用第二种标题排序。