odan23さん
私の場合の場合、こんな感じで設定してます。
↓カスタマイズしたソース抜粋です。
おそらくなんですけど、date()で現在の日付を取得すれば良いのかなって思います。
//newの表示プログラム
//$new_post = '';
$post_dsp = '';
$set_days = 7;//NEWを表示日数
$set_days = $set_days . day;//NEWを表示日数+単位
$today = date('Y/m/d');//今日の日付を取得
$limit_set_days = date("Y/m/d", strtotime($set_days, strtotime( date( $post_date ) )));//投稿日+$set_days
//セットした日数より新しければ
if( $limit_set_days > $today ) :
表示したい内容
endif;
わたくしの場合、カレンダー1の日付〜カレンダー2の日付の間を表示させたかったので
記事にpost_metaを開始と終了をもたせて、↓のように組んでます。
参考程度に見てください。。。
<?php //採用情報
$args = '';
$post_type = get_post_type_object( 'recruit' );//投稿タイプ = お知らせ
$posttype_slug = esc_html($post_type->name); //カスタムポストタイプのスラッグ取得
$posttype_labels = $post_type->labels;
$posttype_name = esc_html($posttype_labels->name); //カスタムポストタイプの表示名
$posttype_singular_name = esc_html($posttype_labels->singular_name ); //カスタムポストタイプの表示名
$posttype_menu_name = esc_html($posttype_labels->menu_name ); //カスタムポストタイプの表示名
$posttype_desc = esc_html($post_type->description); //カスタムポストタイプの説明文
$posttype_link = esc_url(get_post_type_archive_link($posttype_slug));
$args = array(
'numberposts' => 5, //表示(取得)する記事の数
'post_type' => array( $posttype_slug) , //投稿タイプの指定
//'orderby' => 'modified',//更新日順
'post_status' => 'publish',
'has_password' => false,//false or true
);
if ( have_posts( $args ) ) ://条件に合致した投稿があった時
$customPosts = get_posts($args);//$argsの条件取得
if($customPosts) :
echo '<h3 class="headline1" title="' .$posttype_singular_name.'|'.$posttype_desc. '">' . $posttype_singular_name . '</h3>' . PHP_EOL;
echo '<ul class="front-postlist">'.PHP_EOL;
foreach($customPosts as $post)://フォーイーチで繰り返しの開始
setup_postdata( $post );//お決まり
//↓記事開始
//タイトルの正規表示及びXSS対処
$title = get_the_title();//記事タイトル取得
$title = preg_replace('!<style.*?>.*?</style.*?>!is', '', $title);//スタイル無効
$title = preg_replace('!<script.*?>.*?</script.*?>!is', '', $title);//スクリプト無効
$title = strip_tags($title);//タグ削除
$title = mb_ereg_replace(' ', '', $title);//全角スペース削除
$title = mb_strimwidth (strip_tags($title), 0 , 50, "…", "utf-8");//表示文字数
$title = esc_html($title);//最終書き出し
//文章の正規表示及びXSS対処
$post_text = get_the_excerpt();//概要文取得
$post_text = preg_replace('!<style.*?>.*?</style.*?>!is', '', $post_text);//CSS無効
$post_text = preg_replace('!<script.*?>.*?</script.*?>!is', '', $post_text);//JS無効
$post_text = strip_tags($post_text);//タグ削除
$post_text = mb_ereg_replace(' ', '', $post_text);//全角スペース削除
$post_text = mb_strimwidth (strip_tags($post_text), 0 , 50, "…", "utf-8");//文字数制限
$post_text = esc_html($post_text);//ESC処理
//ID取得
$post_id = get_the_ID();
//パーマリンク
$post_link = get_permalink( );
$post_link = esc_html($post_link);
$post_link = esc_url($post_link);
$post_link = urldecode($post_link);
$domain = esc_html( esc_url("http://www." . $_SERVER['HTTP_HOST'] ) );//現在のドメインを取得
$post_date = $post->post_date;//投稿日
$post_modified = $post->post_modified;//更新日
$post_status = $post->post_status;//公開状態 ( publish | pending | draft | private | static | object | attachment | inherit | future )
$post_password = $post->post_password;//投稿パスワード
$post_cat = get_the_category();//カテゴリー
//newの表示プログラム
//$new_post = '';
$$post_dsp = '';
$set_days = 7;//NEWを表示日数
$set_days = $set_days . day;//NEWを表示日数+単位
$set_dsp_days = 30 ;//記事を表示日数
$today = date('Y/m/d');//今日の日付を取得
$limit_set_days = date("Y/m/d", strtotime($set_days, strtotime( date( $post_date ) )));//投稿日+$set_days
//更新の表示プログラム
//$modified_post = '';
$post_dsp = '';
$set_modified_days = 7;//を表示日数
$set_modified_days = $set_modified_days . day;//NEWを表示日数+単位
$set_modified_dsp_days = 30 ;//記事を表示日数
$limit_modified_set_days = date("Y/m/d", strtotime($set_modified_days, strtotime( date( $post_modified ) )));//投稿日+$set_days
//セットした日数より新しければ新着マークを表示
if( $limit_set_days > $today ) :
$post_dsp ='<span>new</span>';
elseif( $limit_modified_set_days > $today ) :
$post_dsp ='<span>更新</span>';
endif;
/***********************************/
/*** 記事にタイマーを持たせるPHP ***/
//値をリセット
$start_day = '';
$end_day = '';
$dsp_start = '';
$dsp_end = '';
$dsp_day = '';
//日時設定
//表示startの日付を取得
if(get_field('start-day')) :
$start_day = date('Y-m-d 0:00:00' , strtotime( date( get_field('start-day') ) ));
endif;//END 開始日を取得できたとき
//表示ENDの日付を取得
if(get_field('end-day')) :
$end_day = date('Y-m-d 23:59:59' , strtotime( date( get_field('end-day')) ));
endif;//END 終了日が取得できたとき
//現在の日時を取得
$now = date('Y-m-d H:i:s', strtotime(date('Y/m/d H:i:s')));
//開示時刻が現在より過去 又は未設定で1を加算
if( ! $start_day ) :
$dsp_start = true;
elseif( $now > $start_day ) :
$dsp_start = true;
else :
$dsp_start = '';
endif;
//終了時刻が現在より先 又は未設定で1を加算
if( ! $end_day ) :
$dsp_end = true;
elseif( $now < $end_day ) :
$dsp_end = true;
else :
$dsp_end = '';
endif;
//開始+終了のポイントを加算
echo '<p>'.$now.'</p>'.PHP_EOL;
echo '<p>'.$start_day.'</p>'.PHP_EOL;
echo '<p>'.$end_day.'</p>'.PHP_EOL;
if( $dsp_start && $dsp_end ) ://開始・終了がそれぞれ加算されたときのみ表示
/***************************/
?>
<li>
<article itemscope="itemscope" itemtype="http://schema.org/Article" title="<?php echo $title; ?>">
<meta itemprop="description" content="<?php echo $post_text; ?>" />
<link itemprop="author" href="<?php echo $domain; ?>" />
<time datetime="<?php echo get_post_time('Y-m-j') ?>">
<?php echo get_post_time('Y-m-j') ?>
</time>
<h1 itemprop="name">
<a itemprop="url" href="<?php echo $post_link; ?>"><?php echo $title; ?></a><?php if($post_dsp) : echo $post_dsp . PHP_EOL; endif; ?>
</h1>
</article>
</li>
<?php
else:
//非表示処理
endif;//記事にタイマーを待たせる
//END 記事
endforeach;//繰返し終了
echo '</ul>'.PHP_EOL;
wp_reset_postdata(); //クエリのリセット
endif;
endif;//have_posts( $args )
?>