[英]Wordpress - Magic Fields - Sort by custom magic field using WP_Query
我正在使用魔術字段,並使用一個名為sort
的字段定義了一個名為collection
的自定義帖子類型,在其中輸入了一個我希望對自定義帖子進行排序的數字。
我的WP_Query參數很簡單:
'post_type' => 'collection',
'meta_key' => 'sort',
'order_by' => 'meta_value',
'order' => 'ASC'
在$ query結果上使用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應該按wp_postmeta.meta_key = 'sort'
及其相應的meta_value
wp_postmeta.meta_key = 'sort'
時,它仍然包含ORDER BY wp_posts.post_date
?
'post_type' => 'collection',
'meta_key' => 'sort',
'orderby' => 'meta_value',
'order' => 'ASC'
order_by = orderby
也叫魔術場,不是定制場
http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.