wordpressでログインしているときとログインしていないときで表示する内容を変える
スポンサーリンク

wordpressで、ログインしているユーザーとログインしていないユーザーによって表示を分けたいことがありますよね?今回はそれを実装します。

スポンサーリンク

実装

ここにあるコードをお使いのテーマのfunctions.phpに追記してください。
(/wp-content/themes/<使っているテーマ>/functions.php)

ウィジェットでショートコードを使えるようにする

このコードを加えることで、普通はできないショートコードでウィジェットが使えるようになります。

php コピー

//do shortcode in widget
add_filter('widget_text', 'do_shortcode' );

目的のコード

php コピー

/**
 * ログイン時とログインしていない時の処理
 */
 
//not login
function not_login ( $atts, $content = null ) {
if(! is_user_logged_in()){
	return $content;
}
}
add_shortcode( 'not_login', 'not_login' );

//login
function already_login ( $atts, $content = null ) {
if( is_user_logged_in()){
	return $content;
}
}
add_shortcode( 'already_login', 'already_login' );

実装する

ログインしていないときに表示したいものを

not_login ~ /not_login([]をそれぞれつけて)

で囲い、

ログインしたら表示したいものを

already_login ~ /already_login([]をそれぞれつけて)

で囲ってください

[not_login]ログインしていません[/not_login][login_show]ログインしています[/login_show]

ログインしていたら「ログインしています」、ログインしていなかったら「ログインしていません」
と表示されます。

↑このように使っています

以上です。ご覧いただきありがとうございました。

スポンサーリンク
おすすめの記事