プラグインを使用しないでWordPressにメンテナンスモードを実装する方法

はじめに

PHPのバージョンアップでエラーが表示されるのを訪問者の方に見られたり、サイトの修正などで訪問者の方にデザインが崩れている状態を見られたりするのを避けたいと思う時はサイトをメンテナンスモードにして訪問者のアクセスを制限したいと思う時があります。

そのためメンテナンスモードにする方法を調べたところ検索上位はプラグインを使用してメンテナンスモードを実装するものばかりだったため、今回の記事ではプラグインを使用せずにWordPressにメンテナンスモードを実装する方法をご紹介します。

この記事を読んでわかること
プラグインを使用しないでWordPressにメンテナンスモードを実装するためのソースコード

プラグインを使用しないでWordPressにメンテナンスモードを実装するためのソースコード

functions.phpに下記ソースコードを追加してください。

PR

function custom_maintenance_mode() {
    if ( ! current_user_can( 'manage_options' ) ) {
        wp_die( '<h1>メンテナンス中...</h1><p>サイトは現在メンテナンス中です。ご迷惑をおかけします。しばらくお待ちください。</p>', 503 );
    }
}
add_action( 'get_header', 'custom_maintenance_mode' );

ソースコードを追加すると、管理者権限を持つユーザー以外がサイトに訪問した時にページに下記のような表示がされ、アクセスを制限することができます。

current_user_can()

WordPressの権限管理システムを使用して、現在のユーザーが特定の権限(capability)を持っているかどうかを確認するための関数です。この関数を使用することで、ユーザーの役割に応じてコンテンツのアクセスやアクションを制御できます。

current_user_can('capability_name') の引数としては、例えば「manage_options」のような特定の権限(capability)の名前を指定します。「manage_options」は「管理画面の設定の管理」のことです。この権限を持っているユーザーは「管理者権限」を持つユーザーに該当します。

wp_die()

指定されたメッセージを含むエラーページを表示し、HTTPステータスコード 503(Service Unavailable)を返します。これにより、サイトはメンテナンス中としてブラウザに通知されます。

まとめ

今回はプラグインを使用しないでWordPressにメンテナンスモードを実装する方法について記事にしました。WordPressでメンテナンスモードを実装する方法を調べると検索上位に表示されるのは、プラグインを使用したものばかりですが、無駄にプラグインを入れたくないという方もいらっしゃると思います。そのような方はぜひ今回の記事を参考にしてプラグインなしでメンテナンスモードを実装してみてください。

>お問い合わせはこちら

お問い合わせはこちら