wordpressで、ログインしているユーザーとログインしていないユーザーによって表示を分けたいことがありますよね?今回はそれを実装します。
この記事の目次
実装
ここにあるコードをお使いのテーマのfunctions.php
に追記してください。
ウィジェットでショートコードを使えるようにする
このコードを加えることで、普通はできないショートコードでウィジェットが使えるようになります。
functions.php
//do shortcode in widget
add_filter('widget_text', 'do_shortcode' );
目的のコード
functions.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]
で囲ってください
例
ログインしていたら「ログインしています」、ログインしていなかったら「ログインしていません」
と表示されます。
以上です。ご覧いただきありがとうございました。