我試圖通過自定義字段的每一個WordPress的檔案進行排序,所以我添加動作到我的功能文件,但我有兩個問題:WordPress的:通過自定義字段排序存檔中沒有縮略圖
- 這表明只有擁有這個自定義字段的帖子,我希望它顯示每個帖子,但首先是那些有這個字段的whoch;
- 它不顯示帖子縮略圖。
我的動作是這樣的:
add_action('pre_get_posts', 'my_change_sort_order');
function my_change_sort_order($query){
if(is_archive())
{
// validate
if(is_admin())
{
return $query;
}
$query->set('meta_key', 'my_custom_field');
$query->set('orderby', 'meta_value_num');
$query->set('order', 'DESC');
return $query;
}
};
正如itzmekhokan建議我也試過這樣:
$meta_query = array(
'relation' => 'OR',
array(//check meta_key exist
'key' => 'my_custom_field',
'compare' => '!=',
'value' => ''
),
array(//if no meta_key exist
'key' => 'my_custom_field',
'compare' => 'NOT EXISTS'
)
);
$query->set('meta_query', $meta_query);
$query->set('meta_key', 'my_custom_field');
$query->set('orderby', 'meta_value_num');
$query->set('order', 'DESC');
然後,我已經試過這樣:
$meta_query = array(
'relation' => 'OR',
array(//check meta_key exist
'key' => 'my_custom_field',
'compare' => 'EXISTS'
),
array(//if no meta_key exist
'key' => 'my_custom_field',
'compare' => 'NOT EXISTS'
)
);
$query->set('meta_query', $meta_query);
$query->set('orderby', 'meta_value_num');
$query->set('meta_key', 'my_custom_field');
$query->set('order', 'DESC');
總是沒有成功。 WordPress只顯示有這個字段集的帖子。
傳遞關係爲'OR'獲取所有數據@ Alessandro Pietrantonio –
感謝yoru回覆@ParthMahida但我必須通過「或」什麼? –