0
我使用魔術字段並定義了一個名爲collection
的自定義帖子類型,其字段名爲sort
,其中我輸入了一個數字,我想按自定義帖子進行排序。Wordpress - Magic Fields - 使用WP_Query排序自定義魔術字段
我WP_Query論點很簡單:
'post_type' => 'collection',
'meta_key' => 'sort',
'order_by' => 'meta_value',
'order' => 'ASC'
,其在使用的print_r對$查詢結果顯示下面的MySQL語句:
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id) WHERE 1=1 AND wp_posts.post_type = 'collection' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') AND (wp_postmeta.meta_key = 'sort') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date ASC LIMIT 0, 10
所以我很困惑,爲什麼產生的MySQL仍然包含ORDER BY wp_posts.post_date
當我明確說明它應該排序wp_postmeta.meta_key = 'sort'
及其相應的meta_value
?
啊謝謝你這麼多,你是對的,'orderby'是正確的。只是爲了澄清,我的意思是像[wordpress插件](http://wordpress.org/extend/plugins/magic-fields/)中的'魔術領域'此外,只是一個筆記,因爲我的'sort'字段是數字,我還需要使用''orderby'=>'meta_value_num'',現在一切正常。 – waffl