私は日付を追加する "value_date"と呼ばれるカスタムフィールドを持っています。例えばyyyy/mm/dd
この考えは、ループ内の最初の予定日をソートすることですが、可能ですか?
カスタムポストtaxonomy-event-date.phpのテンプレートを使用しましたが、これは関数内のコードですが、機能しません。
Functions.php
add_action('pre_get_posts','search_filter');
function search_filter($query){
if ( !is_admin() && $query->
is_tax( 'event', 'date' ) ) {
$today = date( 'Y-m-d' );
$query->set('post_status', 'publish');
$query->set('meta_value', $today);
$query->set('meta_key', 'value_date');
$query->set('orderby', 'meta_value_num');
$query->set('order', 'ASC');
}
}
はい、あなたはアクション "pre_get_posts"を呼び出すことができます。
add_action('pre_get_posts','search_filter');
あなたはパラメータを追加することができます:
$args = array(
'post_status' => 'publish',
'posts_per_page' => 6,
'paged' => $paged,
'meta_key' => 'event_date',
'orderby' => 'meta_value_num',
'order' => 'ASC'
);
あなたは上記のパラメータを使用することができます。 :
function search_filter($query){
if ( !is_admin() && $query->is_main_query() ) {
$query->set('post_status', 'publish');
$query->set('meta_key', 'event_date');
$query->set('orderby', 'meta_value_num');
$query->set('order', 'ASC');
}
}