WordPressで定休日メッセージを自動表示する方法(特定日指定)

日付ごとに変わる定休日を、自動で「本日は定休日です」と表示したいと思ったことはありませんか?
曜日固定ではなく「〇月〇日は定休日」というように、カレンダーで決まっている場合でも対応できる方法をご紹介します。

この記事では、カスタムHTMLとJavaScriptを使って、定休日だけ自動でメッセージを表示する方法を解説します。

1. 想定する場面

  • 営業日は不定期で、あらかじめ決まった日だけお休み
  • 定休日の日だけ「本日は定休日です」とトップページなどに表示したい
  • 定休日が終わったら自動でメッセージが非表示になる

2. 完成イメージ

定休日に該当する日になると、以下のようなメッセージがトップページなど任意の場所に表示されます。

本日は定休日です

日付が変わると自動的に消えるので、手動で表示・非表示を切り替える必要はありません。

3. 実装方法

プラグインをさがしてみましたが、プラグインは良い物が見つかりませんでした。
以下の方法がシンプルでやりやすかったので紹介します。

HTML+CSS+JavaScriptを設置

WordPressのブロックエディターの「カスタムHTML」ブロックなどに、以下のコードをそのまま貼り付けるだけで動作します。
「任意の日付」のところに休みの日を登録してください。いくつでもOKです。

<!-- 定休日メッセージ -->
<div id="yasumi-message">
本日は定休日です
</div>

<style>
#yasumi-message {
display: none;
color: red;
font-weight: bold;
font-size: 30px;
text-align: center;
}
</style>

<script>
document.addEventListener("DOMContentLoaded", function () {
const holidays = [
"任意の日付",
"任意の日付",
"任意の日付",
"任意の日付"
];

const today = new Date();
today.setHours(today.getHours() + 9); // 日本時間に補正
const todayStr = today.toISOString().split("T")[0];

const msg = document.getElementById("yasumi-message");
if (holidays.includes(todayStr) && msg) {
msg.style.display = "block";
}
});
</script>

4. ポイント解説

  • holidays という配列に定休日の日付(YYYY-MM-DD 形式)を入れます
  • JavaScript で「今日の日付」を日本時間で取得し、定休日に含まれていればメッセージを表示します
  • 日付が切り替わると自動で表示・非表示が切り替わるので手間いらず

5. 注意点

  • JavaScriptが無効なブラウザでは動作しません(ほぼ影響なし)
  • WordPressのテーマやプラグインによっては <script> タグが無効化される場合があります
    • その場合は「フッター用のJavaScript挿入」機能などを使ってください

6. 応用アイデア

  • 表示メッセージを「定休日につき、お問い合わせは翌営業日以降に対応いたします」などに変更
  • CSSで目立つデザインにする(背景色やアニメーションなど)
  • 定休日リストをJSONファイルで外部管理することも可能

まとめ

定休日だけ自動でメッセージを出したいなら、JavaScriptで簡単に実現できます。
「今日は定休日なのに営業中っぽく見えてしまう」などのリスクを減らすことができ、訪問者にも親切です。

技術的に難しそうに見えますが、一度コピペすればあとは日付を追加していくだけなので、誰でも管理しやすい仕組みです。

Home
つくる
特長
無料相談
公式LINE
問合せ