wordpressでログインを必須にする方法

社内用だったり、会員制などの用途でWordPressを利用する場合、登録済みのユーザのみにコンテンツを表示させたい。なんてことはないでしょうか?
実際、調べてみても標準の管理画面でそんな機能はないし、プラグインも見あたりません。(調べ方が悪いのかも。。。)

と、いうことで力業ですが、WP2.8系のプログラムソースをちょっといじって実現する方法をまとめます。

利用するのは、WP標準関数群のis_user_logged_in()auth_redirect()
簡単に言うと、アクセスされたときにログインしているかどうかを判定して、ログインしていない場合は、管理画面のユーザ認証画面にリダイレクトするというもの。

では、実際にどこを書き換えればよいのか見てみましょう。
WordPressのプログラムを見てみるとルートディレクトリに”wp-blog-header.php“があります。中を覗いてみると次のようになっています。

if ( !isset($wp_did_header) ) {
$wp_did_header = true;
require_once( dirname(__FILE__) . ‘/wp-load.php’ );

wp();
require_once( ABSPATH . WPINC . ‘/template-loader.php’ );
}

そこで、ここに赤字で書いてある部分を追記します。

if ( !isset($wp_did_header) ) {
$wp_did_header = true;
require_once( dirname(__FILE__) . ‘/wp-load.php’ );

if (is_user_logged_in()){
}
else {
auth_redirect();
};

wp();
require_once( ABSPATH . WPINC . ‘/template-loader.php’ );
}

あとは、保存して、ファイルを差し替えるだけ!!

※今回の内容はプログラムを書き換える必要がありますので自己責任でバックアップをしてください。

Facebookページもよろしくお願いします

CATEGORIES WordPress, その他by.a.takeuchi1 Comments2009.11.12
TAGS ,  
記事の投稿者
a.takeuchi a

Facebook comments:

コメントをどうぞ

Eメールアドレスは公開されません。

Trackback URL

管理者の承認後に表示します。無関係な内容や、リンクだけで意見や感想のないものは承認しません。

  • 製品・サービス
    PC、iPhone対応のeラーニングシステム。20名まで無料でASPサービスを利用できます
    PC、iPhone対応のeラーニング学習管理システム(LMS)【SmartBrain】
    http://smartbrain.info/
    PC、iPhone対応のeラーニングシステム。ユーザ数無制限のASPコースをご用意。


    eラーニングポータルサイト【elearning.co.jp】
    http://elearning.co.jp/
    eラーニング専門企業(株)キバンインターナショナルの製品を紹介しています。


    コンテンツビジネス支援パック
    http://contentsbank.jp/

    Ustream配信、動画コンテンツ制作、セミナーにご利用いただけるレンタルスタジオ
    Ustreamレンタルスタジオ「パンダスタジオ」
    http://pandastudio.tv/

    eラーニング専門企業(株)キバンインターナショナルのスタッフが、eラーニングに関する情報・最新事情をBlogでご紹介。月50本程度の情報発信を行っています。
    ブログ「blog.eラーニング.co.jp」
    http://blog.elearning.co.jp/

  • アーカイブ
  • カテゴリー
  • Amazon
  • タグ