我有一个产品列表,每个产品的价格都以文本形式存储在自定义字段中,如“2.50”或“5.00”,我将它们显示在页面上,并使用按价格排序的自定义查询:
if(!$wp_query) {
global $wp_query;
}
$args = array(
\'meta_key\' => \'price\',
\'orderby\' => \'meta_value_num\',
\'order\' => \'ASC\'
);
query_posts( array_merge( $args , $wp_query->query ) );
这对价格来说很好,但有些价格是“POA”,我想最后显示,但是上面的订单是先显示“POA”的。
是否有任何方法可以改变这一点,或者我可以使用一个快速的黑客来对阵列进行排序,并将任何“POA”价格放在最后?
最合适的回答,由SO网友:Bainternet 整理而成
这个OrderBy
参数可以接受多个参数,因此解决方案是更改:
\'orderby\' => \'meta_value_num\',
收件人:
\'orderby\' => \'meta_value meta_value_num\',