WordPress投稿で「〇月〇日まで表示」を実現する方法
例えば、amazon、楽天などで販売してる商品紹介BOLGなどで「8月1日まで割引!」のように、特定の日付まで表示したい文章ってありますよね?
WordPress(特にCocoonテーマ)では、ショートコードを使えば簡単に実現できます。
🎯 今回のゴール
- 8/4までは「🎉 8/4まで限定!全品半額セール開催中 🎉」と表示
- 8/5以降は自動で非表示
- PHPで簡単に実装可能
💡 実際のショートコードの使い方
[show_until date="2025-08-04"]
🎉 8/4まで限定!全品半額セール開催中 🎉
[/show_until]
このショートコードを書くだけで、8/4まで表示、8/5からは非表示になります。
🛠 PHPコード(functions.phpに追加)
以下のコードを WordPress の functions.php
に追加してください:
function show_until_shortcode($atts, $content = null) {
$atts = shortcode_atts(array(
'date' => ''
), $atts);
$until_date = strtotime($atts['date'] . ' 23:59:59');
$now = current_time('timestamp');
if ($now <= $until_date) {
return do_shortcode($content);
} else {
return '';
}
}
add_shortcode('show_until', 'show_until_shortcode');
管理画面の「外観 → テーマファイルエディター」で追加できます。
⚠️ functions.phpを編集する前にご注意ください!
WordPressの functions.php
ファイルを直接編集すると、記述ミスが原因でサイトが真っ白になったり、管理画面にアクセスできなくなることがあります。
以下のポイントを必ず確認してから編集を行ってください:
- 事前に バックアップ を取る
- 子テーマの
functions.php
を編集する - できれば「コードスニペット系プラグイン(例:Code Snippets)」の利用も検討する
万が一、表示がおかしくなったら:FTPやサーバーパネルからファイルを戻せるように準備しておきましょう。
📦 実際に使ってみよう
投稿や固定ページで、以下のように書いてください:
[show_until date="2025-08-04"]
🎉 8/5まで限定!全品半額セール開催中 🎉
[/show_until]
これで、特定日までの期間限定表示が完成します。
🌀 応用:特定日から表示(逆バージョン)
逆に「8/2から表示したい」ときの [show_from]
バージョンも作成可能です。
必要な方はこちらの記事もご覧ください(←後日リンク)
コレは便利で実用性アリ!
手動で消す必要なし!
これなら「セール終了後にうっかり告知が残ってた💦」ってことも防げます。ショートコードの力、これからも上手に使っていきたいです。✨