質問: ### 前提・実現したいこと ワードプレスプラグイン「Event Organiser」を利用しています。 現在以下の様なコードで、一覧表示をしているのですが、 開催日順に並びません。 ### 該当のソースコード ``` 'event', 'taxonomy' => 'event-category', 'term' => 'corse-special', 'posts_per_page' => 12 )); foreach( $corsespeciallist as $post ): setup_postdata( $post ); get_template_part('content-corse'); endforeach; wp_reset_postdata(); ?> ``` ### 試したこと 下記のコードを追加し、色々な値で試しましたが、 思うようにいきません。 ``` 'orderby' => 'ここにいろんな値を入れてみましたが思うようになりません', 'order' => 'ASC', ``` ### 補足情報(言語/FW/ツール等のバージョンなど) ワードプレス:4.5.2 Event Organiser:3.1.0
回答: Event Organiser は get_posts など標準の関数を使わずに独自の関数が用意されているようです。 ``` $corsespeciallist = eo_get_events( array( 'numberposts' => 12 , 'event-category' => 'corse-special' , 'showpastevents' => true // , 'orderby ' => 'eventstart' // default で eventstart 。eventstart / eventend を指定できる ) ); // (未テスト) ``` 【Function eo_get_events | Event Organiser Codex】 イベント用データがプラグイン内でどのように保存をされているのかがわからないのですが、多分カスタムフィールドでしょう。それを元に orderby を組み立てるとしたら下記の様になるとは思います。 ``` $corsespeciallist = get_posts( array( 'post_type' => 'event' , 'tax_query' => array( array( 'taxonomy' => 'event-category' , 'operator' => 'IN' , 'field' => 'slug' , 'terms' => array( 'corse-special' ) ) ) , 'posts_per_page' => 12 , 'orderby' => 'meta_value' , 'meta_key' => '???????' // Event Organiser が使用しているカスタムフィールド名 ) ); // (未テスト) ```