質問: ### 実現したいこと WP Query関数を使い、カスタム投稿タイプのイベント情報一覧を表示しているのですが、以下を実現したいです。 【1】イベント一覧ページでは全ての情報を表示 【2】トップページでは選択した記事のみを表示 真偽値を使って、カスタムフィールドで、✔️をはずすとトップページ非表示などできないものでしょうか? 【3】また、終了したイベントは一覧から非表示(単独の記事は残す) 以下のようにしたのですが、本日以前も表示されてしまいます。 ``` //トップページ '24', 'post_type' => 'event', 'post_status' => 'publish', 'meta_key'=>'fi_day', //日付が入るカスタムフィールド名 'orderby' => 'meta_value', 'order' => 'ASC', 'meta_compare' => '>=', 'meta_value'=> date("yy/mm/dd"), 'meta_type' => 'DATE' ); $wp_query->query($param); if($wp_query->have_posts()): while($wp_query->have_posts()) : $wp_query->the_post(); ?> ループ内容 ``` お知恵をお貸し下さい。宜しくお願いいたします。 ※WP Query関数では実現出来ず、get_posts関数の方で実現できるのであれば教えていただきたいです。 ※カスタム投稿タイプの作成は「Custom Post Type UI」 カスタムフィールドの作成は「Advanced Custom Fields」を使用しています。 ### 追記(一部解決) 【2】は「Seamless Sticky Custom Post Types」プラグインで解決。 【3】については若干疑問点が残りましたが解決しました(詳しくは解答欄)。 【1】について 「カスタム投稿タイプのアーカイブ」で解決とのことですが、現状での実装方法がわかりません。 プラグイン「Event organiser」を使い、上部に特定カテゴリのみのカレンダーを表示しています。 下部にそのカテゴリーに含まれる記事一覧を表示させたいです。 functions.phpでの処理はしておらず、プラグインで用意されているカテゴリー(おそらくタクソノミー名はevent-category)と、そこで作成したカテゴリ(night)を使用。 カテゴリ別のカレンダーのショートコードを使うため固定ページのテンプレートとしています。 方法1だと記事一覧が何も表示されなくなります。 方法2だと全てのイベントが表示されてしまいます。 ``` //カテゴリ[night]のイベントのみを表示させる //〜headerの読み込みなど //カテゴリー night のみを表示させるカレンダーを固定ページのテキストエリアにショートコードで記述。 array( 'taxonomy' => 'event-category', 'field' => 'slug', 'terms' => 'night' ),//方法1 'category_name' => 'night',//方法2 'posts_per_page' => '30', 'post_type' => 'event', 'post_status' => 'publish', 'meta_key'=>'fi_day',//日付が入るカスタムフィールド名 'orderby' => 'meta_value', 'order' => 'ASC', 'meta_compare' => '>=', 'meta_value'=> date("Y-m-dd"), 'meta_type' => 'DATE' ); $wp_query->query($param); if($wp_query->have_posts()): while($wp_query->have_posts()) : $wp_query->the_post(); ?> //ループさせる内容 ```
回答: > > イベント一覧ページでは全ての情報を表示 > > > flatさんの回答にあるように「カスタム投稿タイプのアーカイブ」が良いと思います。 > > トップページでは選択した記事のみを表示 > > > 標準の機能で可能だと思います。もし「先頭に固定表示」で実装される場合は、表示の際にちょっと癖があるので、下記サイトを参考にすることをお勧めします。 【先頭固定表示の投稿 - WordPress Codex 日本語版】 https://wpdocs.osdn.jp/先頭固定表示の投稿 【WordPressで「先頭に固定表示」をWP_Queryでも活かす : kosukekato.com : the idea espresso】 【WordPressの "sticky"ポストについて - Daily GLOCALISM】 http://daily.glocalism.jp/memo/wordpressのstickyポストについて/ **追記:** WP_Query を使わないでもトップページ用テンプレートで下記のようにすれば「今から」のイベントは取得できるのでは? ``` ``` 【Event Organiser ワードプレスでイベントサイトを作れるプラグイン | webooooo SEO対策 大阪 WEBコンサルティング 】