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

Last Updated: 2024 年 10 月 01 日 6のコメント

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

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は WordPress サイトをログインしたユーザー(会員)にのみアクセスできるように設定する機能を提供します。 Ultimate Member » Settings » Accessから Global Site Accessを「Site accessible to Logged In Users」に設定します。

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

韓国語版の場合 Ultimateメンバー»設定»アクセスタブ»グローバルサイトアクセス 設定を「ログインしているユーザーがアクセス可能」に設定します。

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

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

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

アクセス制限が設定されたURLにアクセスすると、ログインページに移動します。ログインページからヘッダーとフッタ、サイドバーなどを削除してログインフォームのみを表示したい場合は、次の記事を参照してください。

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

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

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

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()の詳細については、 WordPress 公式文書を参照してみてください。

メモ:


6のコメント

コメント

  1. 特定のページのセクション(例えば、資料ダウンロードなど)のみログイン後に見えるようにするには、いくつかのプラグインをどのように活用すればよいか問い合わせます。

    応答
    • こんにちは、オジョンミン様。 お問い合わせいただいた内容は、さまざまな方法で可能であることです。

      1.会員制のプラグイン:Ultimate MemberやWP-Membersのような無料のメンバーシップのプラグインを使用してコンテンツの特定の部分を保護することができます。 たとえば、Ultimate Memberプラグインの場合、次の記事で方法がよく説明されています。

      https://docs.ultimatemember.com/article/177-restrict-content-on-a-page-post-to-logged-in-users

      2.メンバーシップのプラグインは、会員制のサイト運営に使用されているプラ​​グインであるため、サイトへの負担を与えることができるでしょう。 コンテンツへのアクセス制限機能のみ必要な場合はContent Controlのようなプラグインをインストールしてテストすることができそうです。

      https://ko.wordpress.org/plugins/content-control/

      3. Brizyページビルダー:最近Brizyページビルダーでメンバーシップ機能を追加しました。 このページビルダーを使用すると、簡単に目的の操作が可能になります。 しかし、ページビルダーを使用している場合のページビルダーを変えることはあまり好ましくありません。 次の記事を参照してください。

      https://www.thewordcracker.com/basic/brizy-%ed%8e%98%ec%9d%b4%ec%a7%80-%eb%b9%8c%eb%8d%94-%eb%ac%b4%eb%a3%8c-%eb%a9%a4%eb%b2%84%ec%8b%ad/

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

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

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

      応答