WORDPRESS

WordPressサイトの修正確認に。ユーザーのログイン状態でコンテンツ表示を分岐する。

Shinpei Okada

検証・開発環境が無い時Wordpressサイト修正の小ワザの備忘録。
単発の小さな修正案件とかで、わざわざテスト環境を準備するほどでもないケースなどに。

ページ単位なら、パスワード制御とかURL公開しないとかである程度簡単にコントロールが可能ですが、ページの中の一部コンテンツの表示切替はちょっと複雑。

WordPressではユーザーのログイン状態で分岐が可能なので、サイト管理者には開発中のコンテンツを表示して、一般ユーザーには従来のコンテンツを表示といったことが可能。

INDEX

phpでコントロールする

WordPressログインユーザーのみ表示する

<?php if( is_user_logged_in() ) : ?>
ログインユーザーのみに表示する内容
<?php endif; ?>

WordPressログインユーザーとそれ以外で表示を切り替える

<?php if( is_user_logged_in() ) : ?>
ログインユーザーに表示する内容
<?php else : ?>
ログインユーザー以外に表示する内容
<?php endif; ?>

ショートコード化して投稿/固定ページで条件分岐させる

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]

CSSクラスでコントロールする

CSSクラスlogged-inを使用して切替

テーマによりますが、Wordpressのログイン時には、一般的にbodyにlogged-inクラスが付与されます。

これを利用して、ログインしていないユーザーには、当該部分を非表示にすることが可能です。
(あくまで非表示なので、ソースコード上は記述される事に注意)

例:ログインしていないユーザーに、CSSクラス「temporary」を非表示

body:not(.logged-in) .temporary {
  display: none;
}

この記事はどうでしたか?

ひとことメッセージを送る(匿名)
  • URLをコピーしました!

CONSULTATION

機能の追加・業務効率化・見た目や動線の改善——「もっと楽に更新したい」もご相談ください。

プラグインの導入や移行だけでなく、申込の自動処理・一括登録などの機能追加、更新の手間を減らす仕組み、UI・動線の改善、AI 検索対策、スポット修正まで。「作り直すほどではないが、何とかしたい」段階で構いません。今のサイトの URL を添えてご相談ください。

相談してみる

この記事を書いた人

合同会社LOFIR 代表 / エンジニア。中学生のころ、HTML を手打ちしてホームページを作り、検索ロボットが巡回してくれる前の——Yahoo! に電話帳のように「登録申請」していた時代から Web に関わってきました。以来、メディア運営、コンサルティング、システム開発、制作チームのマネジメントを経て、2022 年に合同会社 LOFIR を設立。いまは中小企業の Web 制作・コンテンツ SEO・AI 導入支援を、自社開発の AI ワークフロー基盤「MIMIR」(n8n × Notion × 各社 LLM・40 以上の機能を 365 日稼働)と Claude Code で回しながら手がけています。このブログには、実際に手を動かして分かったことだけを書いています。

INDEX