投稿・固定ページの記事内でログイン状態の分岐を使う

ログインユーザーに見せたい内容と非ログインユーザーに見せたい内容を分けるには、テーマファイルでis_user_logged_in()を使うことで、条件分岐させることができます。

ですが、今回は記事の中の一部をログイン状態によって表示を変更させたい!ということで、ショートコードを使用することで、記事中で表示・非表示を切り替えられる方法を使用しました。

function.phpに下記のコードを追記して、ショートコードを有効にします。

//ログインしてる時
function if_login( $atts, $content = null ) {
	if( is_user_logged_in() ) {
		return $content;
	} else {
		return '';
	}
}

add_shortcode('if-login', 'if_login');

//ログインしてない時
function if_logout( $atts, $content = null ) {
	if( !is_user_logged_in() ) {
		return $content;
	} else {
		return '';
	}
}
add_shortcode('if-logout', 'if_logout');


これで記事内で該当の部分をショートコードで挟んでやれば、表示を切り替えることができます。

[if-login]ログインユーザーにのみ表示[/if-login]
[if-logout]ログインしていないユーザーにのみ表示[/if-logout]

非ログインユーザーにだけログインを促したいときなどに使えてとっても便利になりました。

■参考にさせて頂きました。
https://takayakondo.com/is_user_logged_in/
Comments

コメントする