コーディング

WPの投稿・固定ページでログイン/ログアウトの条件分岐をする方法

  • このエントリーをはてなブックマークに追加

こんにちは!

あけましておめでとうございます、ワタナベです。

年末は昨年行けなかったバンドのライブ納めに行けて良い年末を過ごせました(‘ω’)ノ

今回は、WPの投稿や固定ページでログインした時してない時の条件分岐のショートコードのご紹介をいたします!

PHPでのやり方はこちらの記事で紹介されていましたが、投稿や固定ページ内では残念ながらそのままでは使用することができません。
どうしても使用したいんだ!という場合、ショートコードを使用することになります。

手順はこちら↓↓

手順その① functions.phpにコード追加

functions.php

//ログインした時表示
function if_login( $atts, $content = null ) {
if( is_user_logged_in() ) {
return ” . $content . ”;
} else {
return ”;
}
}

add_shortcode(‘if-login’, ‘if_login’);

//ログインしていない時表示
function no_login( $atts, $content = null ) {
if( !is_user_logged_in() ) {
return ” . $content . ”;
} else {
return ”;
}
}
add_shortcode(‘no-login’, ‘no_login’);
「if_login」「no_login」の部分は任意のテキストに変更可能です。
ログインしていない時のコードの方は、「is_user_logged_in()」の前に「!」を付けるのをお忘れなく。

手順その② 固定ページでショートコードを使用

投稿/固定ページ

[if-login]このテキストはログインした時だけに表示されるよ。[/if-login]

[no-login]このテキストはログインしていない時だけに表示されるよ。[/no-login]

先ほど設定した「if_login」「no_login」で該当の箇所を[]で囲みます。

 

これで、ログインしている時としてない時の表示が切り替えられていると思います!

簡単ですね!(今さらながらno-loginではなくてif-logoutとかのほうがよかったのではと思い始める。)

ちなみに、

<div class=”[if-login]login[/if-login]”></div>

↑みたいな感じでclassの値等をショートコードで囲うのは出来ないっぽいです。
div要素ごと囲っちゃってください(‘ω’)ノ

 

自分は、固定ページを複製して複製したページにページ独自のcssを反映させて…という作業が本当に手間でストレスだと感じているので、ちょっとした修正などではこの方法で対応しています。
functions.phpをいじるので注意が必要ですが、楽ちんなのでオススメな方法です♪

 

↓参考にさせていただきました、ありがとうございます!!

 

 

今年もいろんなことに挑戦できる1年になればいいな~と思います。
2020年もよろしくお願いしますm(__)m

それではまた次回、ご閲覧ありがとうございました!

  • このエントリーをはてなブックマークに追加

【Webデザイナー募集!】D-Gripで一緒に働きませんか?

ただいま株式会社D-Gripシステムでは、制作部として一緒に働いてくれるWebデザイナーさんを募集しています。

実務経験がある方はもちろん、専門学校や独学で勉強された未経験の方でも歓迎です!
800サイト以上の運営実績のある会社で、プロのWEBデザイナーへの道を着実に歩んでいきませんか?

お問い合わせはコチラから↓
採用サイトへ

お電話はコチラから↓
TEL:03-5363-2191

採用サイトへ