【WordPress】条件分岐でログインしているユーザーのみにコンテンツを表示させる方法
  • 記事公開:2017/05/01
  • 最終更新:2019/05/05

【WordPress】条件分岐でログインしているユーザーのみにコンテンツを表示させる方法

Wordpressのログインユーザーかどうかで条件分岐させる方法をご紹介します。ログインユーザーにだけコンテンツを表示させたり、一般訪問者と表示させるコンテンツを切り替えたりすることができます。4分だけこの記事を読んでみてください。

この記事は約 5 分で読めます。

WordPressのカスタマイズはお任せください。

WordPressのカスタマイズを格安で代行いたします。ご希望のカスタマイズがあればご相談ください。

本番環境を直接カスタマイズすることに・・・

自身の運営するサイトでのお話です。
サイトでカスタマイズしたい部分が見つかりました。

テスト環境でカスタマイズしてから本番環境にカスタマイズを反映させようとしたのですが、すぐに使えるテスト環境がありません。

本番環境で直接カスタマイズすることにしたのですが、レイアウトが一時的に崩れることもあるでしょうし、カスタマイズ中のエリアを訪問者の方には見ていただきたくありません。

そこで考えたので、管理画面にログインしているユーザー(つまり私)かどうかを判断して、ログインしているユーザーのみにコンテンツを表示させる条件分岐ができないかということです。

WordPressでは、色々な条件分岐ができます。
これまで考えもしなかった条件分岐ですが、Wordpressならできそうな気がします。

早速調べてみたのですが、やはり【ログインユーザーかどうか】で条件分岐が可能でした。
今回は、この条件分岐のやり方をまとめてみましたので参考にしてください。。

ログインユーザーのみにコンテンツを表示させる条件分岐

ログインユーザーかどうかは、【is_user_logged_in() 】という関数で判断することができます。

この関数を使て、サイトを観覧しているのがログインユーザーなら【表示】、ログインユーザーでなければ【非表示】と条件分岐する事が可能です。

上記の条件分岐を行うためのコードは以下の通りです。

<?php if( is_user_logged_in() ) : ?>
ここに記述した内容はログインユーザーのみに表示されます。
<?php endif; ?>

上記のコードを記述し、その中でカスタマイズを行えば、ログインユーザーはサイト上でそのコンテンツを確認することができますが、ログインユーザーでない一般の訪問者の方は、そのコンテンツを確認することができません。

上記のコードを記述した後、ログインした状態とログインしていない状態でサイトを確認してください。

ログインしている状態ではコンテンツが表示され、ログインしていない状態ではコンテンツが表示されていないことが確認できます。

これなら本番環境でじっくりとカスタマイズを行うことができます。

このコードはPHPコードですので、投稿や固定ページのエディタ内では動作しません。
投稿などのエディタ内で使用したい場合は、後述するショートコードを使用してください。

ログインユーザーかどうかで表示する内容を切り分けたい場合

例えば、ログインユーザーにはコンテンツA、一般訪問者にはコンテンツBを表示させたいなど、ログインユーザーかどうかでコンテンツを切り替えることも、今回ご紹介したコードで可能です。

具体的には、以下のようにコードを記述します。

<?php if( is_user_logged_in() ) : ?>
ここに記述した内容は、ログインユーザーにのみ表示されます。
<?php else : ?>
ここに記述した内容は、ログインユーザー以外に表示されます。
<?php endif; ?>

こうしておけば、ログインユーザーかどうかを判断してコンテンツを切り替えることができます。

こちらのコードも投稿や固定ページ内のエディタでは使用できません。
投稿などのエディタ内で使用したい場合は、後述するショートコードを使用してください。

ログインユーザーを判別する条件分岐を投稿や固定ページで使用するショートコード

これまでにご紹介したコードは、全てPHPコードです。
WordPressは、投稿や固定ページ内にPHPコードを記述することはできません。

しかし、投稿や固定ページの中でもログインユーザーのみにコンテンツを表示させたい場合があるかと思います。そんな時は、ショートコードを使いましょう。

ショートコードを使えば、PHPコードを記述できない投稿や固定ページでも、ログインユーザーかどうかを判断して、ログインユーザーのみにコンテンツを表示させることができます。

まずは、ログインユーザーのみにコンテンツを表示させる条件分岐をショートコード化します。
以下のコードをfunctions.phpに記述してください。

function if_login( $atts, $content = null ) {
if(is_user_logged_in()) {
return '' . $content . '';
} else {
return '';
}
}
add_shortcode('if-login', 'if_login');

これでショートコードの作成は完了です。

ログインユーザーのみにコンテンツを表示させたい場合、以下の様にショートコードを使います。

【if-login】ここに記述した内容は、ログインユーザーにのみ表示されます。【/if-login】

ログインユーザーのみに表示させたい内容を、で囲ってやりましょう。
上記は【】で囲っていますが、実際には[]で囲ってください。

このショートコードは、投稿、固定ページ、カスタム投稿で使用することができます。

ショートコードに関して詳しく知りたい場合は、をご覧ください。

まとめ

WordPressでログインしているユーザーのみにコンテンツ表示させる条件分岐をご紹介しました。

ちょっとしたカスタマイズなどで、テスト環境を使うまでもないけど、本番環境でカスタマイズしている段階を訪問者には見せたくない時など、今回の条件分岐が役に立ちそうです。

会員制サイトなどで、会員と非会員でコンテンツを分けたい時にも活用できそうです。

よく使う条件分岐を42種類を以下の記事にまとめてみたのでご確認ください。
【保存版】WordPressの条件分岐を42個まとめてみました!

著者:takaya kondo

岡山在住のWebディレクターです。Wordpressを使ったWEBサイト制作を中心に10年間ほど活動させていただいています。

Wordpress関連の記事でお役に立てれば幸いです。

Wordpressサイトのカスタマイズで
お困りではありませんか?

あなたのWordpressサイトを、ご希望に沿ってカスタマイズいたします。
次に該当する方は、お気軽にご相談下さい。

  • Wordpressサイトをカスタマイズしたいが、やり方が分からないで困っている。カスタマイズの知識が豊富な人に任せたい。
  • Wordpressサイトをカスタマイズしたいが、自分でカスタマイズする暇がない。カスタマイズが得意な人に丸投げしたい。
  • Wordpressサイトをカスタマイズしてみたが、上手くカスタマイズできなかった。カスタマイズ経験が豊富な人に任せたい。
  • Wordpressサイトをカスタマイズしてみたら、バグが発生して困っている。正常に動作するように正しくカスタマイズしてほしい。

一つでも該当する方は、以下のリンクからチェックしてみてください。

詳細を確認する

【関連記事】あなたが興味のありそうな関連記事をご紹介します。

  • 2019/05/04

    WordPress管理画面の投稿一覧から項目「作成者」を削除する方法

    WordPress管理画面の投稿一覧から項目「作成者」を削除する方法を解説します。表示オプションからも「作者名」の項目を削除する方法です。5分程度でマスターできますので、興味のある方は参考にしてください。 記事を読む

  • 2019/06/04

    WordPressのカスタムメニューでアクティブページだけ装飾を変える方法(カレント表示)

    WPのカスタムメニューでアクティブページだけ装飾を変える方法をご紹介します。現在表示されているページがグローバルメニューの中にある場合、そのメニュー部分だけ装飾を変えることができれば、ユーザビリティの向上にも繋がります。3分だけコンテンツを読んでみてください。 記事を読む

  • 2019/05/05

    知ってて損なし!記事URLから投稿IDを取得する方法

    WordPressサイトの記事URLから投稿IDを取得する方法をご紹介します。なんでそんなことするの?と疑問に思われるかもしれませんが、投稿IDを取得することができれば、記事URLを指定するだけで様々な情報を取得できるようになります。カスタマイズの幅も広がること間違いありません。 記事を読む

  • 2019/05/05

    【謎解明】WordPressのカテゴリスラッグは同じ値を重複しては使えない

    WordPressのカテゴリスラッグに勝手に数値が付与されると悩んだことはないですか?その謎をこのコンテンツで解き明かしていきたいと思います。解明と言いましたが、そんな大層なものではありません。気軽に読んでください。 記事を読む

  • 2019/05/05

    WordPressの投稿と基本的な投稿手順

    WordPressの基本的な操作で最も重要なのは【投稿】です。このページでは基本的な投稿手順をご紹介いたします。この部分をマスターしてしまえば、とりあえずWordPressで記事を公開することができるようになります。この機会にマスターしてしまいましょう。 記事を読む

コメントを残す

(必須)

CAPTCHA