WordPressにログイン認証をつける(その2)

WordPressを会員制サイトにするために、必ずログインさせたいときがあります。

以前、wp-blog-header.phpにて、ログインしているかどうか判断して振り分ける方法を記載しました。この方法の欠点は、WordPressをアップデートするともとに戻ってしまう可能性があることです。

そこで、もっとスマートな方法としては、アクションフックを使う方法があります。自分のテーマのfunction.phpに下記のコードを記載します。

function login_check() {
  if (is_user_logged_in()){
  } else {
    auth_redirect();
  };
}
add_action('get_header', 'login_check');

BuddyPressでは、get_headerでフックしてもうまくいかない場合があるので、template_redirectを使うとよいでしょう。

function login_check() {
  if (is_user_logged_in()){
  } else {
    auth_redirect();
  };
}
add_action('template_redirect, 'login_check', 9);

通常のテンプレートがデフォルトの優先度10なので、9以上にすると良いと思います。
以上です。

コメントを残す

役立つ
面白い

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください