WordPressで記事内のコンテンツを期間限定で表示するショートコードの作成
最終更新日:
[limit start="2019-09-14 12:00" end="2022-02-23 00:00"]表示コンテンツ1[/limit] [limit start="2019-09-14 12:00"]表示コンテンツ2[/limit] [limit end="2021-01-15 00:00"]表示コンテンツ3[/limit]
記事内に上記のように記述することで
●年●月●日00:00~●年●月●日23:59まで表示
●年●月●日00:00から表示
~●年●月●日00:00まで表示
のように期間限定で表示する方法をメモ。
functions.phpに下記を記述
// from,toで囲まれた日だったら中に指定してあるショートコードを実行する
function dnoneFunc( $atts, $content = null ) {
//data関数だけだと9時間のズレが生じる場合があるので
date_default_timezone_set('Asia/Tokyo');
// 現在時間を取得(年月日時分を取得)
$now = date('YmdHi');
// 期間と期間過ぎた後のテキスト(デフォ)を設定
extract(shortcode_atts(array(
'start' => '000000000000',
'end' => '999999999999',
'after' => ''
), $atts));
$start = preg_replace("/[^0-9]/", "", $start);
$end = preg_replace("/[^0-9]/", "", $end);
if($now <= $end && $now >= $start){
$content = do_shortcode( shortcode_unautop( $content ) );
}else{
// 指定した日時過ぎた(表示しない)
$content = $after;
}
return $content;
}
add_shortcode('limit', 'dnoneFunc');
であとは表示したい箇所に
WordPressのおすすめ参考書
bookfan 1号店 楽天市場店
¥3,300 (2026/01/20 15:42時点 | 楽天市場調べ)

