【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でサイトの公開予約を設定する方法について紹介しました。
以上で解説を終わります。
目次