実現したいこと
- イベントをカスタムフィールドの値で並べ、開催終了したものは後ろに回したい
前提
wordpressにてイベント一覧ページを作成中です。
開催日順に並べています(降順)
現在の日時が開催終了日より上回っている場合は開催終了フラグを立てて強制的に最後にまわしたいのですが
どう触ればよいかイメージが掴めません。どなたかお助けください(>_<)
該当のソースコード
wordpress:function.php
1function my_posts_control($query) { 2 if (is_admin() || !$query->is_main_query()) { 3 return; 4 } 5 6 if ($query->is_tax('eventcat') || $query->is_archive('eventcat')) { 7 $paged = get_query_var('paged') ? get_query_var('paged') : 1; 8 $query->set('post_type', 'event'); 9 $query->set('meta_key', 'startday'); //カスタムフィールドで設定した名前 10 $query->set('orderby', 'meta_value'); 11 $query->set( 12 'meta_query', 13 array( 14 array( 15 'key' => 'startday', 16 'type' => 'DATE', 17 'order' => 'DESC' 18 ) 19 ) 20 ); 21 $query->set('paged', $paged); 22add_action('pre_get_posts', 'my_posts_control');
補足情報(FW/ツールのバージョンなど)
wordpress6.2
回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2023/04/04 01:58