こんにちは!
あけましておめでとうございます、ワタナベです。
年末は昨年行けなかったバンドのライブ納めに行けて良い年末を過ごせました(‘ω’)ノ
今回は、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’);
ログインしていない時のコードの方は、「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
それではまた次回、ご閲覧ありがとうございました!