2017-04-30 4 views
0

私は、ポストIDのリストを引数として持つショートコードを持っています。WP_Queryの結果の整列

[my_sc team_title="Team" posts_per_page="-1" ids="130,11687,11688,11689, 13767,11691,11693,11694,11695,11696,11697"] 

上記のショートコードに記載されているように、idsの順番を使用してページに投稿を出力する必要があります。

以下のコードからorderとorderbyを削除しようとしましたが、明示的な並べ替えを行わずに、$ idsのIDの順序を使って投稿を出力します。

$team_query = new WP_Query(array(
    'post_type' => 'crb_team', 
    'order' => 'ASC', 
    'orderby' => 'ID', 
    'post__in' => $ids, 
    'posts_per_page' => $posts_per_page, 
)); 

WP_Query結果はそうのような出力されます。

while ($team_query->have_posts()): $team_query->the_post(); 

答えて

0

あなたはorderorderby引数を除外すると、あなたのクエリは、デフォルト値(DESCと日付)を使用します。

あなたはpost__in引数を使ってクエリ内の投稿を設定しており、WordPressはこれをorderbyの値としてサポートしています。

https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters

$team_query = new WP_Query(array(
    'post_type' => 'crb_team', 
    'order' => 'ASC', 
    'orderby' => 'post__in', 
    . . .