マジックフィールドを使用していてcollection
、というフィールドで呼び出されるカスタム投稿タイプを定義しsort
ました。ここで、カスタム投稿を並べ替える番号を入力します。
私の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がまだ含まれているのか混乱していますORDER BY wp_posts.post_date
か?wp_postmeta.meta_key = 'sort'
meta_value