KH-WEBLOG TOP > WEBメモ > WordPress > WordPressで記事内のコンテンツを期間限定で表示するショートコードの作成

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まで表示
のように期間限定で表示する方法をメモ。

コーディング・WordPress化作業を代行します

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化作業を代行します

WordPressのおすすめ参考書

楽天Kobo電子書籍ストア
¥3,278 (2024/07/05 21:31時点 | 楽天市場調べ)

TAGS

.htaccess ActionScript All in one seo pack Contact Form 7 CSS CSS3 EC-CUBE Flash HTML HTML5 JavaScript jQuery LightBox PHP RSS SEO WordPress アイキャッチ画像 アクセス解析 カスタムフィールド カテゴリー カラーミーショップ カート コメント ショートコード テンプレートタグ ドロップダウンメニュー パーマリンク フォーム フルスクリーン ブログカード プラグイン ページテンプレート ページナビ ページ分割 マウスイベント リダイレクト リンク リンクカード レンタルサーバー ロールオーバー 携帯サイト 条件分岐 正規表現 関連記事