Written by Kasumi

【WordPress】サイトの公開予約を設定する方法【メンテナンスモード】

WordPressサイトで本番公開の日時を予約。

予約した日時の公開まではメンテナンスページなどを用意して、サイトを閲覧できないようにしたい。

本記事ではこのような悩みを解決します。

functions.phpにコードを記述

//-----------------------------------------------------
// サイト公開までメンテナンスページを表示
//-----------------------------------------------------
function maintenance_mode()
{

  date_default_timezone_set('Asia/Tokyo'); //日本時間タイムゾーン 
  //メンテナンスモード開始日時
  $startDate = '2024-03-01 10:00:00';
  //メンテナンスモード終了日時
  $endDate = '2024-04-01 12:00:00';

  if (strtotime(date('Y-m-d H:i:s')) >= strtotime($startDate) && strtotime(date('Y-m-d H:i:s')) < strtotime($endDate)) {
    if (!current_user_can('edit_themes') || !is_user_logged_in()) {
      wp_die('<h1>メンテナンス中</h1><br />現在、サイトはメンテナンス中です。');
    }
  }
}
add_action('get_header', 'maintenance_mode');

WordPressサイトで本番公開の日時を予約するコード例です。

上記コードをfunctions.phpに記述します。

このコードはWPのアクションフックを使って、メンテナンスモードを実行する関数です。

wp_die関数を使う事でWPのメンテナンス(エラー)ページを表示。

引数にメンテナンスの内容をテキストで指定する事が出来ます。

if文とdate関数を用い、上記関数を指定した公開日時まで実行する処理をしています。

またWP管理画面のログイン・非ログインを判断。

ログイン時はメンテナンスページを非表示にしてます。

以上で公開予約の完了です。

まとめ

WordPressでサイトの公開予約を設定する方法について紹介しました。

以上で解説を終わります。

目次

関連記事

WordPress プログラミング

wordpressパーマリンクの設定で一部だけリンク設定を変更する方法

更新日:2020.07.18
2538
WordPress プログラミング

【簡単】contact form 7に郵便番号から住所自動入力機能を入れる方法

2022.02.07
9992
WordPress プログラミング

【簡単】wordpressプラグインで投稿記事を非公開予約する方法

2022.01.05
6656
WordPress プログラミング

【簡単】固定ページで親ページがあるか条件分岐、親ページの情報を子ページで取得する方法【wordpress】

2022.03.05
4325