web-dev-qa-db-ja.com

のいずかかをロック WP 未登録ユーザーのネットワークサイト

私はドメインマッピングプラグインがインストールされたブログネットワーク(Multisite)を持っています、そして私のサイトのいくつかは開発中ですので、登録されていないユーザーからそれらをロックしたいです。

この目的のために設計されたいくつかのプラグインをテストしました( Private Only Private WP suite ]プライベートWP メンバー限定登録ユーザー限定/ 絶対プライバシーそして Wp-Private )そしてすべて失敗しました。

私はサイトにアクセスし、ログインフォームを見て記入し、 "Remember Me"とマークしてログインし、サイト自体ではなくDashboard(ユーザーセクション)にリダイレクトされました。サイトのURL(ドメイン)を再入力したときに、ログインページが表示されましたが、 "Remember Me"とマークしました。サイト自体にアクセスできる方法はありません。

私は自分自身のために、できるだけ簡単にこのためのプラグインを書いたことさえあります。

function show_guest_notice()
{
    if(!is_user_logged_in())
    {
        echo('No way, man!');
        die();
    }
}

add_action('get_header', 'show_guest_notice');

そしてそれも失敗しました。

ドメインマッピングプラグインを使用するMultisiteでは、is_user_logged_in()またはstring user cookieのいずれかが失敗するようです。

この投稿 を見て amontobin ( "(...)の回答はドメインマッピングでしたcookieの問題。今はうまく動作しています ")、ドメインマッピングでMultisiteを使用することがこれらの問題の原因であることを保証するだけでしたが、解決策はありません。

だから、誰かが私を助けたり、ドメインマッピングプラグインを有効にした状態でマルチサイトネットワーク上でサイトの肥大化(is_user_logged_in())を機能させる方法を知ってもらえますか?

3
trejder

現在、テストインストールのドメインマッピングは手元にはありませんが、が機能するはずです

add_action( 'template_redirect', 'auth_redirect' );

ここでのプラグインとして: T5強制ログイン
auth_redirect() は、認証のためのWordPressのネイティブハンドラです。うまく機能しない場合、コアコードに問題があります。

2
fuxia

あなたはプラグイン オーセンティケータ を使うことができます、それはMultisiteでも動作します。
oauthまたはkexを介してコンテンツのさまざまな部分を公開する場合は、 開発版 を使用してください。

1
bueltge