2017-09-20 10 views
3

Wordpressのメンバーサイトに問題があります。インストールはサブドメインを持つマルチサイトです。ページを更新するときにユーザーがログアウトする

サブドメインサイトのすべてのページを表示するには、ユーザーがログインする必要があります。この私がどんな機能に対して選んだとここに示されているようpage-template<?php wp_login_form(); ?>を配置している...

<?php if (is_user_logged_in()) { 
get_header(); ?> 
    <div class="page-content-wrapper "> 
    </div> 
<?php get_footer();?> 

<?php } else {?> 
<?php get_header('login'); ?> 
<?php wp_login_form(); ?> 
<?php get_footer('login');?> 
<?php }?> 

を行うには、これは魅力を作品 - is_user_logged_in()は彼らがページを取得するとき、彼らはwp_login_form();を取得していないとき。このページを出るときに私の問題が発生します。ユーザーはログアウトされ、ページに戻るとここに示すように再度ログインする必要があります。

Login error

私は他のページにif (is_user_logged_in())を追加するときにも起こります。

ユーザーがログインする必要がある場合、私はまたwp-login.phpへのリダイレクトを試してみましたが、これは単にログイン資格情報が記録されて、私はクッキーの問題が生じていますように私には示唆しているバックwp-login.phpにループありません。

私は

Cookies before login

とクッキーのログインが必要ですページを再訪する際

Cookies after login

を示すように、ログインした後、彼らは示して示すように前にクッキーのログインが表示されていることに気づきました元の状態に戻ります。ただし、ユーザー資格情報は決して格納されません。

ご協力いただければ幸いです。

UPDATE 私が最初にwp-adminにログインしている場合、私はページを訪問することができ、ユーザーの情報が表示されていることが表示されます。私がページを離れると、ユーザーはログアウトしてログインする必要があります。

+0

メインサイトがHTTPSで、サブドメインがHTTPでCookieがログインセッションを認証できないことが原因ですか? – Darren

+0

これは問題ではありませんでした。 – Darren

+0

には、テスト用のサイトとログイン資格情報へのリンクがあります(テスト用に作成するだけです) –

答えて

5

あなたのfooter.phpライン38のコードの問題があります:

<a role="button" href="<?php wp_logout(); ?> " 

あなたは、彼らがサイトのフロントエンドを訪問したときに、ユーザーのログアウトを行いwp_logout()を使用しています。

<a role="button" href="<?php echo wp_logout_url(); ?> "> 

これは、ユーザーがクリックするとログアウトできるようにするためのものです。

関連する問題