WordPressのカスタマイズ方法やプラグインレビューを中心に、パソコン/動物/植物のことなどを紹介するホームページです

特定の投稿や固定ページごとに簡単に閲覧の制限(限定)ができるプラグイン「User Specific Content」

公開日:2018(平成30)年5月11日/最終更新日:

,
WordPressのプラグイン情報



【景品表示法に基づく表記】ページ内のコンテンツには、商品プロモーションが含まれています

WordPressでサイトを作っていて

  1. ユーザー権限で表示するユーザーを限定したい
  2. ユーザー名で表示するユーザーを限定したい
  3. ログインユーザーのみ表示したい
  4. ログアウトユーザーのみ表示したい
  5. 表示できないコンテンツには別のメッセージを表示したい

など表示条件を持ったコンテンツを作りたいと思う機会は出てくるかと思います。

今回紹介する【User Specific Content】は投稿編集画面で簡単に閲覧制限の設定ができる便利なプラグインです。

またショートコードで特定の文章などに制限をかけることもできるので非常に便利だと思います。

本記事を参考にWordPressサイトへプラグインの導入を検討される方へ

WordPressは古くから無料で配布されているサイト作成ツール(CMS)で、随時改良が加えられており、さまざまなバージョンが存在します。

さらにWordPressを動かすためのプログラムであるPHP、サイトのデータを保存しておくためのデータベースについても様々なバージョンがあります。

そしてWordPress本体同様にプラグインについてもさまざまなバージョンが存在します。

本記事を参考にプラグインの導入をお考えの方は、以下に留意の上でインストールするようにしてください。

  • テスト環境での動作に基づいた紹介記事ですので、すべての環境で正常に動作するかどうかは不明です
    ※本記事の内容についてはページ内に記載しているプラグインバージョンのものになります。現在のバージョンと異なる場合、機能や日本語対応の状況などが異なる場合があります。
    ※また、テスト環境、テストしたプラグインバージョン等の表示が本文内にない場合、ページタイトル下にある最終更新日当時の情報となりますので、現在のバージョンでは全く違う機能となっているかも知れません。
  • プラグインに無料版と有料版(Pro版)がある場合、特に記載がなければ無料版の情報のみを紹介しています
  • このページでプラグインを使用する際に必要なショートコードやコードなどは、コピーして使用することができますが、環境によっては記号などが文字化けすることがあります。コピーしたのに動作しない場合は特に「”」「’」などの記号を入力し直してみてください。
  • プラグイン本体の動作不具合や質問などは公式サイトのフォーラムなどで行ってください(ここでは質問にお答えすることはできません)

【User Specific Content】プラグインの設定画面や表示の日本語化と翻訳

【User Specific Content】プラグインは言語の変更に未対応ですので表示のまま設定することになります

【User Specific Content】プラグインのインストールと設定

インストール方法

インストールはプラグインの新規追加でプラグイン名を入力して検索してインストールするか、WordPressのプラグイン公式配布ページからダウンロード後、管理画面からアップロードインストールしてください(プラグインの公式ページは本ページ内記載のリンクをクリック、もしくは、WordPress公式サイトで検索してください)。

WordPressを使い始めて間もない方(初心者の方)は、より詳細なプラグインのインストール手順や、インストール時に起こる問題などへの対処方法をまとめた【WordPress】プラグインのインストール&追加方法とエラー対処の方法も併せてご覧ください。

QA AnalyticsQA Analytics

【User Specific Content】プラグインの基本的な使い方

プラグインを有効化すると投稿編集画面の下の方に

特定の投稿や固定ページごとに簡単に閲覧の制限(限定)ができるプラグイン「User Specific Content」|Knowledge Base

のような画面が追加されますので、

  1. 表示するユーザー権限
  2. 表示するユーザー名
  3. ログインユーザーのみ表示する(またはログアウトユーザーのみ表示する)
  4. 表示できないユーザーに対するメッセージ

を設定するだけです

※条件設定は「or(または)」なので、各セクションでの設定がすべて生かされるようになっています。

例えばAdministrator(管理者権限)にチェックを入れ、Subscriber(購読者)であるAさんというユーザーにチェックを入れると、管理者のユーザー全員とAさんが閲覧できる投稿や固定ページが作成できます。

カスタム投稿タイプで動作するようにする方法

インストールした状態で動作するのは投稿と固定ページのみですので、カスタム投稿タイプでも動作するためには以下のコードをテーマのfunctions.phpへ追記します。

add_filter('USC_allowed_post_types','usc_filter_post_types');
function usc_filter_post_types($types){
//to add a custom post type
$types[] = 'カスタム投稿タイプのスラグ';
return $types;
}

※このコードの中のカスタム投稿タイプのスラグを自身のサイトのものに変更してください

また、複数の投稿タイプを追加するには

$types[] = 'カスタム投稿タイプのスラグ';

をコピーしてすぐ下に追加することで機能させることができます

例)2つの投稿タイプで使う場合

上のコードと見比べるとどこが違うかは分かると思います。

add_filter('USC_allowed_post_types','usc_filter_post_types');
function usc_filter_post_types($types){
//to add a custom post type
$types[] = 'カスタム投稿タイプのスラグ';
$types[] = 'カスタム投稿タイプのスラグ2';
return $types;
}

ショートコードで特定の文章などを制限する方法

特定の文章などのみを制限するショートコードの例を紹介しておきます

ログインまたはログインしていないユーザーのみに表示する

[O_U logged_status=”in”]ログインユーザーのみに表示するもの[/O_U]

[O_U logged_status=”out”]ログアウトユーザーのみに表示するもの[/O_U]

特定のユーザーIDの人にのみ表示する

[O_U user_id=”1″]表示するコンテンツ[/O_U]

複数の場合

[O_U user_id=”1,2,3″]表示するコンテンツ[/O_U]

特定のユーザー名の人にのみ表示する

[O_U user_name=”ユーザー名”]表示するコンテンツ[/O_U]

複数の場合

[O_U user_name=”ユーザー名1,ユーザー名2,ユーザー名3”]表示するコンテンツ[/O_U]

特定のユーザー権限にのみ表示する

[O_U user_role=”権限名”]表示するコンテンツ[/O_U]

複数の場合

[O_U user_name=”権限名1,権限名2,権限名3”]表示するコンテンツ[/O_U]

※投稿全体に制限をかけている場合、複雑に設定した場合などどのように表示/非表示となるのかは実際に設置して確認してください

プラグインのテスト環境&個人的評価

最後に【User Specific Content】を動作確認した際の環境と個人的な評価を書いておきます。導入の検討や参考になれば幸いです。

テストした環境

  • テストサーバー:カラフルボックス ColorfulBox
  • WordPressのバージョン:4.9.5
  • PHPのバージョン:7.0
  • テーマ:Simplicity2 バージョン2.3.0g
  • プラグインのバージョン:本記事で紹介しているバージョン 1.0.6/最新バージョン 1.0.6
  • 公式サイト(wordpress.org上):https://wordpress.org/plugins/user-specific-content/
  • 公式サイト(作者サイト):

個人的な評価・感想ほか

  1. 設定のしやすさ:★★★★★
  2. 使いやすさ:★★★★★
  3. おすすめ度:★★★★★

こうした機能を持つプラグインの多くは管理画面上で設定するものや、ユーザー権限に特化したものが多い中、このプラグインは投稿編集画面で簡単に制限ができる手軽さが魅力ですが、投稿一覧などに何も表示されないため、どの投稿が制限されているかは各記事の投稿編集画面で確認するしかないところが少し残念な感じがしました。

著:清水 由規, 著:清水 久美子, 著:鈴木 力哉, 著:西岡 由美, 読み手:星野 邦敏, 読み手:吉田 裕介
¥2,889 (2024/02/08 17:07時点 | Amazon調べ)