2016-05-25 9 views
0

ユーザーが自分のプロフィールを編集できるようにしたいページがあります。Wordpressユーザーがログインしていない場合はページを無効にする

しかし、ログインしていないユーザーのページを無効にするにはどうすればよいですか? おそらく:!is_user_logged_in?

ページにアクセスできません。ログインページにリダイレクトされる可能性があります。

答えて

1

このコードをFunction.phpファイルに追加します。 using template_redirect action hook

function template_redirect_fn() 
{ 
    if(is_page (Page ID, title, slug of account page) && !is_user_logged_in()) 
    { 
     $loginUrl = home_url('/login-page/'); 
     wp_redirect($loginUrl); 
     exit(); 
    } 

} 
add_action('template_redirect', 'template_redirect_fn'); 

is_page()チェックページがアカウントである[アカウントのページIDやページタイトルやページのスラッグを渡すことができます]

is_user_logged_in()チェックユーザーであるユーザーであれば、ログインかを返す(ブール値)Trueでログインしていない場合はfalseです。

+0

ありがとうございました。 。私はそれをちょっと微調整しました: $ loginUrl = wp_login_url(); したがって、ユーザーは強制的にログインページを表示します。 – Karuw

+0

@Karuwあなたは大歓迎です。私はそれが助けてうれしい –

1

これを流暢に行うことができます。

if(!is_user_logged_in) { 
    $loginUrl = home_url('/login-page/'); 
    echo '<script>window.location.href = "'.$loginUrl.'";</script>'; 
} 
+0

ユーザオブジェクトを返す 'wp_get_current_user();'を使用することもできます。ユーザがログインしていない場合、IDは0になります。 – TheFallen

関連する問題