WordPress専用ページの作り方(3つの方法)
公開: 2023-03-23WordPress では、ページと投稿の両方がデフォルトで一般公開されています。 通常はこれで問題ありませんが、アクセスを制限したい状況がよくあります。 WordPress ページを非公開にする方法には、WordPress の内部ツールを使用する、テーマを編集する、プラグインを使用するなど、さまざまな方法があります。
最適な方法は、何を達成しようとしているかによって異なります。 WordPress のツールは、サイトの編集者と管理者だけが閲覧できるプライベート ページを作成したり、パスワードに基づいてアクセスを制限したりする場合に非常に効果的です。
残念ながら、内部ツールには限界があります。 ログインしているユーザー、または特定の有料または無料のメンバーシップ レベルにコンテンツを制限することが目標である場合は、別の方法を使用する必要があります。
専用ページとは?
WordPress の非公開ページはまさにそれです: 非公開です。 サイトのほとんどのコンテンツは一般公開されていますが、非公開ページは特定のユーザーのみがアクセスできます。 非公開投稿は本質的に同じものですが、ページではなく投稿です。 以下に概説する方法は、両方のコンテンツ タイプで機能します。
WordPress コンテンツを非公開にするには、少なくとも 3 つの方法があります。
- 可視性の変更。
- パスワードで保護します。
- ユーザーレベルに基づいてアクセスを制限します。
使用する正確な方法は、何を達成しようとしているかによって異なります。 WordPress の組み込みツールを使用して、サイト上の任意の投稿またはページを公開から非公開に変更し、トグル 1 回で元に戻すことができます。 パスワードで保護された WordPress の投稿とページは簡単に設定でき、パスワードを知っているユーザーだけがコンテンツを閲覧できるようになります。 残念ながら、これらの方法はどちらも範囲が限られています。
WordPress の非公開ページと投稿の場合、編集者または管理者のアクセス権を持つユーザーのみが、「非公開」の可視性に設定された投稿またはページを表示できます。 公開するか、パスワードを設定する以外に、他のユーザー レベルへのアクセスを許可する方法はありません。
非公開にしたいすべてのコンテンツをパスワードで保護することは可能ですが、ユーザー エクスペリエンスが低下します。
非公開ページまたは投稿の作成
最初のステップは、WordPress の管理メニューで [ページ] を選択し、[新規追加] をクリックして、新しいページを作成することです。 既存のページを選択して、このプロセスの残りの部分に従って、そのページのプライバシーを変更することもできます。
次に、編集ウィンドウの右側にある [概要] セクションを見つけて、[可視性] をクリックします。 これにより、次の 3 つのオプションから選択できるモーダルが開きます。
- 公開: すべてのページと投稿のデフォルト設定。
- 非公開: これにより、サイトの管理者と編集者への可視性が制限されます。
- パスワード保護: この設定は、正しいパスワードを入力した訪問者への可視性を制限します。
一般に、コンテンツへのユーザー アクセスを管理するには、別の手法を使用する方が適切ですが、パスワード保護で問題が解決する場合もあります。 また、無料でセットアップが非常に簡単であるという二重の利点もあります。 「パスワード保護」をクリックし、パスワードを入力するだけで完了です。
主な欠点は、パスワードがユーザー ベースとしてのみ安全であることです。 組み込みツールを使用すると、ページまたは投稿に 1 つのパスワードを設定できます。 ユーザーごとにそれらをランダムに生成する方法はなく、ユーザーがそれらを共有するのを防ぐ方法もありません。 それらを頻繁に変更することはできますが、それはあなたの側でより多くの作業を必要とし、ユーザー エクスペリエンスを悪化させるだけです。
「ゲートされた」コンテンツは、WordPress サイトの一部を非公開にする最も一般的な理由の 1 つです。 通常、これは、これらの投稿、ページ、およびダウンロードを登録ユーザーに制限することを意味しますが、これは内部ツールでは実行できません。
次のセクションでは、子テーマを使用してコンテンツへのアクセスを制限する方法について説明し、ユーザー アクセスに基づいて非公開のページや投稿を作成するために利用できるプラグインのいくつかを見ていきます。
ユーザーに基づいてアクセスを制限する
WordPress の内部ツールには用途がありますが、ログインしたユーザーだけが投稿やページにアクセスできるようにする方法はありません。 そのためには、子テーマのfunctions.php
ファイルを変更するか、プラグインを使用することをお勧めします。
子テーマでコンテンツを非公開にする
テーマのfunctions.php
ファイルを変更することで、ユーザー アクセスを制限することができます。 ファイル自体はwp-content/themes/name_of_theme
にあります。
この手法を使用するための最初のステップは、子テーマを作成することです。 親テーマを直接変更することはお勧めしません。1 つの間違いがサイトの表示に大きな影響を与える可能性があるからです。 さらに、ある時点でそのテーマが更新される可能性があります。 親テーマに加えた変更は、更新によって消去されます。
子テーマを作成したら、次のステップはそのfunctions.php
ファイルにカスタム コードを追加することです。
このソリューションでは、ログインしているユーザーは投稿またはページにアクセスできますが、ログインしていないユーザーはログイン ページに移動します。
以下のコードは、次の要素で構成されています。
-
template_redirect
フック: WordPress がロードするテンプレートを選択する直前に実行されます。 -
get_queried_object_id()
関数: ユーザーの現在のページの ID を読み取ります。 - ページ ID の配列: これにより、ログインしているユーザーに制限するページが関数に伝えられます。
以下の例では、 private_pages
という名前の配列を使用し、ページ ID 2、15、および 17 を制限するように設定しています。コードを機能させるには、ここに独自のページ ID を挿入する必要があります。 また、「LINK_TO_LOGIN_PAGE」をログインまたは登録ページへのリンクに置き換える必要があります。
~~~ if( !function_exists('private_logged_in_users') ): add_action( 'template_redirect', 'private_logged_in_users' ); function private_logged_in_users(){ /* Reads the current page ID */ $page_id = get_queried_object_id(); /* List of IDs restricted to logged-in users */ $private_pages = [ 2,15,17, ]; if( ( !empty($private_pages) && in_array($page_id, $private_pages) ) && !is_user_logged_in() ): wp_die('To view this content, please <a href="LINK_TO_LOGIN_PAGE" target="_blank">log in or register.</a>'); return; exit; endif; } endif; ~~~
この手法の欠点の 1 つは、非公開にしたい投稿やページがおそらく静的ではないことです。 新しいゲーテッド コンテンツを追加するたびに、配列内のページ ID を更新する必要があります。
さらに、これにより、メンバーシップ レベル、有料メンバーシップなどに基づいてアクセスを制限することはできません。ユーザーがログインしている限り、コンテンツが表示されます。
プラグインで WordPress ページを非公開にする
プラグインを使用して非公開のページと投稿を管理することには利点があります。 通常、ユーザーレベルに基づいて投稿にアクセスできないようにするだけでなく、ニーズに基づいてコンテンツを制限できる機能を提供します.
コンテンツの制限
Stellaris によるこのメンバーシップ プラグインは、「WordPress サイトのコンテンツを閲覧できるユーザーと閲覧できないユーザーを完全に制御する」ことを約束します。 無料版では、複数のメンバーシップ レベルを作成し、投稿、ページ、メディア、カスタム投稿タイプ、API リクエストへのアクセスを制限できます。 無料の Stripe アドオンを利用すると、デビット カードとクレジット カードによる支払いを回収できます。
プラグインをインストールして有効にすると、コンテンツ編集ウィンドウのドロップダウン メニューからコンテンツを制限できます。
コンテンツへのアクセスを制限するために使用できるオプションは多数あります。これには、すべてのアクセス レベルのメンバー、すべての有料レベルのメンバー、および特定のレベルのメンバーに制限することが含まれます。
匿名制限コンテンツ
このプラグインは、許可されたユーザーにコンテンツを制限する簡単な方法を提供します。 インストールとアクティブ化の後、匿名の制限付きコンテンツは、WordPress ダッシュボードの設定メニューに「制限付きコンテンツ」を追加します。 そこから、ユーザーをリダイレクトするページと、ログイン ページに表示するメッセージに関するいくつかの詳細を入力するだけです。
匿名の制限付きコンテンツを使用すると、コンテンツを一括操作で制限できます。 WordPress サイトの [投稿] または [ページ] セクションに移動し、制限したいコンテンツ アイテムをチェックして、一括操作のドロップダウン メニューから [匿名を制限] を選択するだけです。
コンテンツ コントロール
このプラグインを使用すると、ページや投稿へのアクセスをログイン ユーザー、特定のユーザー ロール、およびログアウト ユーザーに制限できます。 コンテンツ コントロールを使用すると、コンテンツの特定の部分をショートコードで制限できます。 さらに、プラグインを使用して、ユーザーおよびアクセス レベルごとにサイドバーとフッター ウィジェットの表示を制御できます。
インストールと有効化の後、プラグインは「コンテンツ コントロール」を設定メニューに追加します。 そこから [制限を追加] をクリックすると、制限エディターが開き、制限されたコンテンツをニーズに合わせて調整できます。
結論
WordPress は、非公開の投稿やページを作成するためのさまざまなルートを提供しています。 使用する最適な方法は、目的によって異なります。 WordPress の内部ツールは非常に使いやすく、問題なく動作しますが、パスワード保護に制限されているか、管理者と編集者のみがコンテンツを表示できるようになっています。
子テーマを使用して非公開の投稿とページを作成するために概説した方法にも制限があります。 新しいプライベート コンテンツを追加するたびにfunctions.php
ファイルのページ ID 配列を手動で更新する必要があり、アクセス レベルに基づいてコンテンツを制限する方法がなく、ログインしていないユーザーがコンテンツを表示することを制限するだけです。 . これらの制限を回避する方法はありますが、より高度なコーディング スキルが必要です。
適切なプラグインは、ページ、投稿、およびその他のコンテンツを非公開としてマークするのに役立ちますが、単にログインするだけでなく、より厳しい要件 (アクセス レベル、有料メンバーシップなど) に基づいてアクセスを制限することもできます。 目的によっては、特定の WordPress ページを非公開にし、コンテンツへのアクセスを制限する最も簡単な方法として、プラグインが最適な場合があります。
WP Engine を使用したマネージド ホスティングにより、サイトにアクセスできるユーザーをさらに細かく制御できます。 Web ルール エンジンを使用すると、プライベート ファイルへの直接アクセスを防止したり、特定の国や地域からのアクセスを制限したり、ページをリダイレクトしたりできます。
受賞歴のある WP Engine での 24 時間 365 日サポートを含む、業界をリードする WordPress ホスティングの詳細をご覧ください。