WordPressで作成したサイト全体にパスワードを掛ける

仕事で作ったWordpressのテストサイトにベーシック認証を掛けていたのですが、画像のアップロードで困ったことが。
何故かFlashアップローダーでアップができない!

試しにブラウザアップローダーを使ってみると、こっちはすんなり上手くいく…。
検索してみると、少しだけですが対処法を書いているサイトが。

「.htaccess」ファイルに

# Exclude the file upload and WP CRON scripts from authentication
<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
    Satisfy Any
    Order allow,deny
    Allow from all
    Deny from none
</FilesMatch>

を追記するだけみたいです。
簡単!…と思いきや、追記するとエラーが起こってサイトが表示されない…。

何か他の方法は!?と探して、ベーシック認証の代わりになるプラグインを見つけました。

記事単位やカテゴリー単位ではなく、サイトそのものにパスワードを掛けるプラグイン。
Angsuman’s Authenticated WordPress Plugin – Password Protection for Your WordPress Blog
から、ダウンロードしてプラグインフォルダに入れて有効化。
サイトのURLをブラウザに入れると、Wordpressのログインページに跳ばされるのでID・パスワードを入れます。
…が、正しいID・パスワードを入れても入れない。
どうやら新しいバージョンのWordpressでは動かないみたいなので、「WordPressのブログ全体に認証をかける – satake7’s memo」の記事を参考に、プラグインのPHPファイルを開き、

function ac_auth_redirect() {
  if ( (!empty($_COOKIE[USER_COOKIE]) &&
     !wp_login($_COOKIE[USER_COOKIE], $_COOKIE[PASS_COOKIE], true)) ||
        (empty($_COOKIE[USER_COOKIE])) ) {
    nocache_headers();

部分を

function ac_auth_redirect() {
  if ( !is_user_logged_in() ){
    nocache_headers();

に変更。

これで正しいID・パスワードでログインできるようになりました!
パスワードを掛けられれば何でもよいので、ベーシック認証は諦めちゃいましたが、これでも十分ですね。

カテゴリー: wordpress   パーマリンク

コメントをどうぞ

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

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>