WordPressで会員制サイトを作ったときによく使われるのが「ページやサイトを丸ごと登録ユーザーのみに表示する」方法。でもこれだと通常はそのページの内容が何も見えないので、別のページで概要を作って会員閲覧用ページへのリンクを作らなければなりません。ちょっと面倒ですよね?
【Private Content】はショートコードで囲まれた部分を未登録(未ログイン)の訪問者には非表示にできるようにするプラグイン。ページの一部分だけを表示しておいて、登録ユーザーのみ表示できるコンテンツをショートコードで囲むだけなので、簡単にプライベートコンテンツの作成ができます。
また【Private Content】は権限の細かな設定ができるほか、閲覧権限のない人へ特定の文字列を表示させることができるところも秀逸なプラグインだと思います。
テスト環境ではショートコードの間(権限により表示する部分)にHTMLタグや別のプラグインのショートコードなどを挿入してもきちんと表示されました。
【Private Content】プラグインの基本的な機能・できること
- ショートコードで簡単にプライベートコンテンツを作成できる
- ショートコードで特定の権限を持つユーザーのみ閲覧可能なコンテンツが作れる
- ショートコードで特定のユーザーのみに表示されるコンテンツが作れる
- 表示されない部分にログインを促すメッセージなどを表示できる
※このプラグインでプライベートにしたコンテンツは検索エンジンから見るとコンテンツがないことになります(検索エンジンはログインユーザーではありませんので当然ですね)。
あまりにもプライベートコンテンツ部分が多いページはいわゆる【のり弁】状態になり、SEO的に不利となる可能性もありますので、そうしたページは「noindex」タグなどを追加してインデックスされないようにするなどの対策が必要かもしれません。
本記事を参考にWordPressサイトへプラグインの導入を検討される方へ
WordPressは古くから無料で配布されているサイト作成ツール(CMS)で、随時改良が加えられており、さまざまなバージョンが存在します。
さらにWordPressを動かすためのプログラムであるPHP、サイトのデータを保存しておくためのデータベースについても様々なバージョンがあります。
そしてWordPress本体同様にプラグインについてもさまざまなバージョンが存在します。
本記事を参考にプラグインの導入をお考えの方は、以下に留意の上でインストールするようにしてください。
- テスト環境での動作に基づいた紹介記事ですので、すべての環境で正常に動作するかどうかは不明です
※本記事の内容についてはページ内に記載しているプラグインバージョンのものになります。現在のバージョンと異なる場合、機能や日本語対応の状況などが異なる場合があります。
※また、テスト環境、テストしたプラグインバージョン等の表示が本文内にない場合、ページタイトル下にある最終更新日当時の情報となりますので、現在のバージョンでは全く違う機能となっているかも知れません。 - プラグインに無料版と有料版(Pro版)がある場合、特に記載がなければ無料版の情報のみを紹介しています
- このページでプラグインを使用する際に必要なショートコードやコードなどは、コピーして使用することができますが、環境によっては記号などが文字化けすることがあります。コピーしたのに動作しない場合は特に「”」「’」などの記号を入力し直してみてください。
- プラグイン本体の動作不具合や質問などは公式サイトのフォーラムなどで行ってください(ここでは質問にお答えすることはできません)
【Private Content】プラグインの設定画面や表示の日本語化と翻訳
【Private Content】プラグインは設定項目がないので特に必要ないと思います
【Private Content】プラグインのインストールと設定
インストール方法
インストールはプラグインの新規追加でプラグイン名を入力して検索してインストールするか、WordPressのプラグイン公式配布ページからダウンロード後、管理画面からアップロードインストールしてください(プラグインの公式ページは本ページ内記載のリンクをクリック、もしくは、WordPress公式サイトで検索してください)。
WordPressを使い始めて間もない方(初心者の方)は、より詳細なプラグインのインストール手順や、インストール時に起こる問題などへの対処方法をまとめた【WordPress】プラグインのインストール&追加方法とエラー対処の方法も併せてご覧ください。
【Private Content】プラグインの基本的な使い方
設定項目はありません。すべてショートコードの中で表現します
基本となるショートコードは
[private role="ルール"]ルールに沿ったユーザーのみに表示する部分[/private]
です。
ショートコードの中の「ルール」に表示する条件を、「ルールに沿ったユーザーのみに表示する部分」に表示/非表示を切り替えるコンテンツを作成します。
ルールの設定方法
特定の権限以上のユーザーにのみ表示する
これを説明するにはまずWordPressの権限の理解が必要です。WordPressのユーザー権限には
- 管理者-administrator
- 編集者-editor
- 投稿者-author
- 寄稿者-contributor
- 購読者-subscriber
の5つがあり、寄稿者は「購読者と寄稿者の権限」、投稿者は「購読者と寄稿者と投稿者の権限」という風に上に行くにしたがって下の権限も包括するようになっています。
この仕組みを反対に利用してルールの設定をしていきます。
例えばルールを寄稿者(contributor)にすれば、寄稿者以上の権限を持つユーザーのみに表示されるコンテンツが作れる、管理者(administrator)にすれば管理者だけが見れるコンテンツが作れるようになります。
特定の権限のユーザー限定のコンテンツを表示する
上の場合だとルールに設定した権限以上のユーザーに見れるコンテンツを設定できますが、中には特定の権限ユーザーだけに表示したいコンテンツがあることもあるでしょう。そんなときにはルールの後ろに「-only」をつける(例えば「author-only」など)すれば、特定権限のユーザーのみに表示するようになります。
これにはオプションがあって、「visitor-only」にすると、訪問者のみ(ログインしていないユーザーのみ)にコンテンツを表示することができます。
特定のユーザーのみ限定のコンテンツを表示する
特定権限以上でもなければ特定の権限でもない、特定のユーザーにのみ表示できるようにしたい場合のルールです。
ルールにユーザー名を指定していきます。複数ユーザーを対象にする場合には「,(コンマ)」で区切って設定します。
表示権限がない人へメッセージを表示する
ショートコードで囲んだコンテンツは権限のない人には何も表示されません。そうではなく、ログインを促すメッセージなどを表示したい場合にはショートコード内に「alt」タグを挿入します。
例えば
[private role="subscriber" alt="ご覧いただくにはログインが必要です"]ルールに沿ったユーザーのみに表示する部分[/private]
という風にすれば、購読者以上の権限でログインした人には「ルールに沿ったユーザーのみに表示する部分」の内容が表示され、購読者以上でログインしていない人(訪問者)には「ご覧いただくにはログインが必要です」という内容が表示されます
「alt」タグ内にはリンクも設定できますので、特定のページへのリンクを含めたいときは
[private role="subscriber" alt="ご覧いただくにはログインが必要です。ログインは<a href=''>こちら</a>"]ルールに沿ったユーザーのみに表示する部分[/private]
というようにリンクタグを挿入します。
※リンクタグ挿入時、通常は「”(ダブルクオーテーション)」を使いますが、ショートコード内では「’」を使うのがミソです。
プラグインのテスト環境&個人的評価
最後に【Private Content】を動作確認した際の環境と個人的な評価を書いておきます。導入の検討や参考になれば幸いです。
テストした環境
- テストサーバー:カラフルボックス
- WordPressのバージョン:4.9.0
- PHPのバージョン:7.0
- テーマ:Simplicity2 バージョン2.3.0g
- プラグインのバージョン:本記事で紹介しているバージョン 4.3/最新バージョン 公式サイトで “private-content” は配布されていません
- 公式サイト(wordpress.org上):https://wordpress.org/plugins/private-content/
- 公式サイト(作者サイト):
個人的な評価・感想ほか
- 設定のしやすさ:★★★★★
- 使いやすさ:★★★★★
- おすすめ度:★★★★★
手軽にショートコード1つでログインユーザー向けのコンテンツが作成できて便利だと思います。同様のプラグインは設定が複雑だったり必要な機能が有料だったりしますので、このプラグインは無料でほとんどのことができて重宝すると思います。