もう少し調べてみました。記事個別のページは
こちらで対応できそうなのではと考えています。
function.phpに記述。
function start_date($query) {
if ( is_admin() || ! $query->is_main_query() )
return;
$currnet_date = date(Ymd);
if ( $query->is_single() ) {
$query->set( 'posts_per_page', -1 );
$query->set( 'orderby', 'meta_value' );
$query->set( 'meta_key', 'date' );
$query->set( 'order', 'ASC' );
$query->set('meta_query',
array(
array(
'key' => 'date',
'value' => $currnet_date,
'compare' => '<',
'type' => 'DATE'
)
)
);
}
}
add_action( 'pre_get_posts', 'start_date' );
ですが、これだとどの記事もアクセスできなくなってしまいました…。
条件指定などが間違っているんだと思うのですが…
立て続けですみません。こちらで出来ました。
合っているのか自信はありませんが…。
加えてドコモのみ適応という処理も入れました。
function docomo_start_date($query) {
switch (is_ktai()) {
case 'DoCoMo' :
if ( is_admin() || ! $query->is_main_query() )
return;
$currnet_date = date(Ymd);
if ( $query->is_single() ) {
$query->set( 'posts_per_page', -1 );
$query->set( 'orderby', 'meta_value' );
$query->set( 'meta_key', 'start_date' );
$query->set( 'order', 'ASC' );
$query->set('meta_query',
array(
array(
'key' => 'start_date',
'value' => $currnet_date,
'compare' => '<=',
'type' => 'DATE'
)
)
);
}
break;
}
}
add_action( 'pre_get_posts', 'docomo_start_date' );
index.phpに出ている記事も
ドコモのみstart_dateを読み取って表示、非表示が出来ればと思っているのですが
どう記述すればよいのかわかりません。。。
一応解決できたので記載しておきます。
ちょっと間違ってるかもしれませんが…
function single_carrier_flag($query) {
if ( ! $query->is_page() ) {
switch (is_ktai()) {
case 'DoCoMo' :
$currnet_date = date(Ymd);
$query->set( 'posts_per_page', -1 );
$query->set( 'orderby', 'date' );
$query->set( 'meta_key', 'docomo' );
$query->set( 'order', 'DESC' );
$query->set('meta_query',
array(
'key' => 'docomo_start_date',
'value' => $currnet_date,
'compare' => '<=',
'type' => 'DATE'
)
)
);
break;
}
}
}
add_action( 'pre_get_posts', 'single_carrier_flag' );