WordPress サイトでログインする必要が文を見ることができるように設定する方法

FacebookさえずりredditPinterestのLinkedInのmail

ログインしたユーザーだけが書き込みを見ることができるようにワードプレスのサイトを設定したい場合があります。 この場合は、以下に紹介するプラグインを使用したり、簡単なコードを使用して訪問者をログインページに移動させることができます。

Force Loginプラグイン

Force Login WordPressのプラグイン -  WordPressのサイトでログインする必要が文を見ることができるようにする方法

Force Login プラグインを使用すると、ログインユーザーのみのサイトの内容を見ることができるプライベートサイトを運営することができます。 このプラグインをアクティブ画面のすべての訪問者(非ログインユーザー)は、まずログインページに移動します。

サイトをオープンするまで、このプラグインを使用して、一般人の接近を妨げるか、または(この場合、「工事中/サイト準備中/メンテナンス通知プラグイン」で紹介したプラグインも使用可能)のメンバーだけに利用できるようにサイトを非公開にすることができます。

このプラグインをインストールすると、設定をすることができる別のページはありません。 しかし、コードを使用してログインした後にリダイレクトを設定したり、例外を指定することができます。

ログイン後にリダイレクトされるURLを指定する

次のフィルタを使用しているテーマの関数ファイル(functions.php)に追加するようにします。 必ず子テーマを使用してください(参考)。 そうでなければテーマが更新され修正が初期化され消えてしまいます。

/**
* 로그인 시 리디렉션될 URL 설정
*
* @return string URL to redirect to on login. Must be absolute.
*/
function my_forcelogin_redirect() {
return site_url( '/mypage/' );
}
add_filter('v_forcelogin_redirect', 'my_forcelogin_redirect', 10, 1);

URLは絶対パスで指定する必要があります(例:http://www.example.com/mypage)。 推奨形式は site_url( '/ mypage /')です。

特定のページや記事についての例外を設定する

強制ログイン機能無視

特定のページや記事には、強制的にログイン機能を無視するように設定することができます。 次のようなコードを使用します。

/**
* 강제 로그인 기능을 무시하여 예외 허용
*
* @return bool Whether to disable Force Login. Default false.
*/
function my_forcelogin_bypass( $bypass ) {
if ( is_single() ) {
$bypass = true;
}
return $bypass;
}
add_filter('v_forcelogin_bypass', 'my_forcelogin_bypass', 10, 1);

ホワイトリストURL

各URLは絶対パス形式であり、推奨形式はsite_url( '/ mypage /」)です。

/**
* Filter Force Login to allow exceptions for specific URLs.
*
* @return array An array of URLs. Must be absolute.
*/
function my_forcelogin_whitelist( $whitelist ) {
$whitelist[] = site_url( '/mypage/' );
$whitelist[] = site_url( '/2015/03/post-title/' );
return $whitelist;
}
add_filter('v_forcelogin_whitelist', 'my_forcelogin_whitelist', 10, 1);

ログイン画面で「{sitename}へ戻る」リンクを非表示にする方法

Force Loginプラグインが有効になると、ログイン画面で「←{sitename}へ戻る」リンクをクリックしても、サイトのホームに戻りません。 このリンクを隠したい場合は、次のコードを使用します。

// 로그인 화면에서 '{sitename}(으)로 돌아가기' 링크 숨기기.
function my_forcelogin_hide_backtoblog() {
echo '<style type="text/css">#backtoblog{display:none;}</style>';
}
add_action('login_enqueue_scripts', 'my_forcelogin_hide_backtoblog');

Ultimate Memberプラグイン

Ultimate Memberプラグイン -  WordPressのメンバーシップのプラグイン

究極のメンバーは会員制のサイトを運営する場合に使用できる無料のWordPressのプラグインです。

このプラグインは、次のような機能を提供しています。

  • フロントエンドユーザープロファイル
  • フロントエンドユーザー登録
  • フロントエンドユーザーのログイン
  • カスタムフォームのフィールド
  • フォームフィールドの条件付きロジック
  • ドラッグ&ドロップフォームビルダー
  • ユーザーアカウントのページ
  • カスタムユーザーロール
  • メンバーディレクトリ
  • ユーザーの電子メール
  • コンテンツ制限
  • 条件付きナビゲーションメニュー
  • ユーザープログラムにライター文とコメントを表示
  • 開発者のために数十個のアクションとフィルタを提供

Ultimate Memberは、ワードプレスのサイトをログインしたユーザー(会員)にのみアクセスできるように設定する機能を提供します。 Ultimate Member> Settings> AccessGlobal Site Accessを「Site accessible to Logged In Users」に設定します。

サイトを会員のみアクセス可能にする

有料プラグイン UserProもこのような機能が提供されます。 しかし、会員制のサイトを運営していない場合は、これらのプラグインを使用する必要がありません。

※参考までに、最近恵みの雨ストアで アルティメットメンバー - コリアという究極のメンバーエクステンションをリリースしました。 韓国の状況に合った機能を追加したものです。 詳細については、恵みの雨ストアページ(https://danbistore.com/item/um-korea/)を参照してみてください。

※右コマースショッピングモールを運営する場合、ウコマース会員プラグインを利用して、会員制のサイトを作成することができます。

コードを使用して非ログインユーザーのログインページにリダイレクトさせる

プラグインを使用することが気にされる場合、簡単なコードをテーマの関数ファイルに追加して、非ログインユーザ(訪問者)がサイトにアクセスすると、ログイン画面に移動させることができます。

状況に応じていくつかの方法を考えてみることができます。 次のようなアクションを使用して、非ログインユーザーのログインページに移動させることができます。

add_action( 'template_redirect', 'redirect_to_specific_page' );

function redirect_to_specific_page() {

if ( !is_user_logged_in() ) {

wp_redirect(wp_login_url( get_permalink() ));
exit;
}
}

このコードは、 "特定のページの接続時のログインページや特定のページに移動する」で紹介したコードを応用したものです。テストしてみると、問題なく動作しますね。もし正常に動作しない場合上記で紹介したForce Loginプラグインを使ってみてください。

別の方法としてauth_redirect()関数を使用することもできます。

if ( !is_user_logged_in() ) {
auth_redirect();
}

auth_redirect()の詳細については、 ワードプレスの公式文書を参照してみてください。

注:



4のコメント

  1. UserProは本当に照らさです。 自体には素晴らしいこと、カスタムはほとんど不可能です。
    実際には、Ultimate Memberも、独自のプロファイルテンプレートを使用している部分が好きではないけど、現在出てきた会員管理プラグインの中では、現実的に最良のダプインようです。

    応答
    • ありがとうございます〜

      かつてはメンバーシップのプラグインでWP-Membersが多く使用されているようだが、今ではUltimate Memberが少し多く使用されていますね。

      応答

コメントを残す