【wordpress】ログイン・非ログイン時で表示する内容を変える方法

【wordpress】ログイン・非ログイン時で表示する内容を変える方法

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]

で囲ってください

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

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

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

関連記事

Javascript/Typescript(+react等)開発環境を簡単に構築するスクリプト作った

Javascript/Typescript(+react等)開発環境を簡単に構築するスクリプト作った

【泣けるほど簡単】投稿内に自分しか見えないメモをプラグインなしで実装する方法

【泣けるほど簡単】投稿内に自分しか見えないメモをプラグインなしで実装する方法

【wordpress】ユーザーのダッシュボードアクセスを制限するプラグイン【Remove Dashboard Access】

【wordpress】ユーザーのダッシュボードアクセスを制限するプラグイン【Remove Dashboard Access】

【wordpress】ウィジェットにログインフォームをプラグインなしキャプチャありで設置する

【wordpress】ウィジェットにログインフォームをプラグインなしキャプチャありで設置する

【wordpress】プラブインなしで管理バーを権限別に表示・非表示にする

【wordpress】プラブインなしで管理バーを権限別に表示・非表示にする

【wordpress】登録・ログインフォームをプラグインなし・キャプチャありで実装する

【wordpress】登録・ログインフォームをプラグインなし・キャプチャありで実装する

【失敗談アリ】テックアカデミーのAIコースを徹底レビューする

【失敗談アリ】テックアカデミーのAIコースを徹底レビューする