会員のみのサイトへのアクセスが可能に制限する
WordPress サイトをログインユーザーにのみ表示することができ、非会員は、ログインページに移動する必要があります。 または、特定のページや記事(例えば、フロントページや特定のカテゴリ文)を除くすべてのサイトのコンテンツを会員のみ公開する場合もあります。
簡単には、次のようなコードをheader.phpファイルに追加します。
<?php if(!is_user_logged_in()){wp_redirect( 'http://www.your-site.com/wp-login' ); exit;}?>
テーマソースファイルを変更したくない場合は、はtemplate_redirectアクションとwp_redirect関数を使用することもできます。
add_action('template_redirect','wpse_check_if_logged_in'); function wpse_check_if_logged_in() { if(!is_user_logged_in()) { wp_redirect(site_url('/wp-login.php?action=register')); exit; } } 참고: stackexchange
必ずチャイルドテーマを作って作業してください。 それ以外の場合変更がすべて失われます。 チャイルドテーマの詳細については、 ここを参照してみてください。
Force Loginプラグインを使用してサイトにアクセスを制限する
Force Loginというプラグインを使用すると、サイト全体へのアクセスを容易に制限することができます。
このプラグインを使用すると、訪問者がログインする必要が WordPress サイトを見ることができます。
サイト工事中または会員以外のサイトを見ることができないようにプライベートで運営する場合に便利です。
このプラグインを使用する場合は、特定のページには、誰でも見られるように除外することができます。 次のようなフックを使用します。
function my_forcelogin_bypass( $bypass ) { if ( is_single() ) { $bypass = true; } return $bypass; } add_filter('v_forcelogin_bypass', 'my_forcelogin_bypass', 10, 1);
参考までに、特定のページや文章だけ制限しようとする場合には、このプラグインは適していません。 このプラグインは、サイト全体を会員にのみ表示する制限(ただし、特定のページ/記事は誰でも見ることができる設定可能)に適しています。
ログイン後のリダイレクトは、次のようなコードを使用することができます。
function my_forcelogin_redirect() { return site_url( '/mypage/' ); } add_filter('v_forcelogin_redirect', 'my_forcelogin_redirect', 10, 1);
より洗練されたサイトアクセス制限を設定したい場合は、WP-MembersやUltimate Memberなどの会員制プラグインを使用できます。
コメントを残す