WordPressでログインしないとサイトを閲覧できないようにする方法

WordPressでログインしないとサイトを閲覧できないようにする方法

WordPressで作ったWebサイトを、ログインしたユーザーのみ閲覧できるように制限をかけたい場合があります。

たとえば、構築途中のサイトを特定の人にだけ公開したい場合や、会員制のサイトにしたい場合などです。

そこでここでは、WordPressで作ったWebサイトを、ログインしたユーザーしか閲覧できないようにする方法を紹介します。

動作環境

この記事は、以下の環境で実行した結果をもとにしています。WordPressのバージョンなどによっては、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
WordPress4.9.6

手順

ログインしないとサイトを閲覧できないようにするには、利用しているテーマ(子テーマを利用している場合は子テーマ)の「functions.php」に、以下の内容を追記します。

function my_require_login() {
  global $pagenow;
  if ( ! is_user_logged_in() &&
       $pagenow !== 'wp-login.php' &&
       ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) &&
       ! ( defined( 'DOING_CRON' ) && DOING_CRON ) ) {
      auth_redirect();
  }
}
add_action( 'init', 'my_require_login' );

処理内容は、WordPressにログインしていないと、ログインページにリダイレクトされるように設定しています。

ログインページ以外ヘリダイレクトさせたい場合は「auth_redirect();」の部分を「wp_redirect('URL');」に変更して、URLの部分にリダイレクト先ページのURLを入力します。

あとがき

ここでは、コードを追加して対応する方法を紹介しましたが、WordPressプラグイン「WP Maintenance Mode」などでも同じことができます。

コードの追加することが難しい場合は、プラグインを利用するのもありでしょう。

記事が役立ったらシェアしてくれるとうれしいです。

あなたにおすすめのコンテンツ