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 (2023/11/24 17:19時点 | 楽天市場調べ)