1
我使用wp_query
並使用元鍵對結果進行排序,問題是它排除了我在排序的列中沒有輸入任何內容的產品。我需要所有的產品,包括沒有評分最高的頂級產品。wp_query和元數據排序排除沒有條目的產品
else if($field == "rating") {
$myArgs = array(
'posts_per_page' => -1,
'orderby' => 'meta_value_num',
'order' => 'DESC',
'include' => '',
'meta_key' => 'rating',
'post_type' => 'job_listing',
'post_status' => 'publish',
'job_listing_region' => 'London',
'compare' => ''
);
}
更新:原來我wsn't得到我所需要的排序結果,改變了代碼以下,但結果仍然是獨家的非等級產品。
$myArgs = array(
'orderby' => 'meta_value_num',
'order' => 'DESC',
'post_type' => 'job_listing',
'post_status' => 'publish',
'job_listing_region' => "'" . $city . "'",
'meta_query' => array(
array(
'key' => 'rating',
'compare' => '<'
),
)
);
可能的解決方案是保存默認(空)meta值與所有產品。 –
該評級是用戶生成的,但我假設數據庫中有空白空間或NULL作爲默認值,可能是NULL。 –
在那裏可能是空的。如果沒有用缺省值填充所有元值,我想不出任何解決方案。 –