PR

simplemembershipでログイン状態によって表示を変える

ログイン時だけ、何か表示させたいなあ

こうした悩みを解決します。

姫野秀徳

組み込みエンジニアとしてメーカー勤務10年。
第二種電工事士、基本情報技術者、Code.org認定教師。
microbitを用いた電子工作&プログラミング教室を開校。
組み込み開発の実際を発信するyoutube活動も行う。

姫野秀徳をフォローする
組み込みオンライン学習システム"クミタテ"を作っています クミタテを見る

参考

You searched for SwpmMemberUtils - Membership Plugin

ショートコードを自作する

ショートコードを作ればログインしてる時だけ発火させることができます。
たとえば、ログインしている時だけ「ようこそ」の表示を入れたいとします。
コードはfunction.phpに書きます。
固定ページや投稿など、「ようこそ」を入れたいところショートコードを追加します。

function.phpに書く

function show_text_for_logged_in_users() {
    if (SwpmMemberUtils::is_member_logged_in()) {
        return '<p>ようこそ、ログインユーザーさん!</p>';
    }
    return ''; // ログインしていない場合は何も表示しない
}
add_shortcode('loggedin_text', 'show_text_for_logged_in_users');

ショートコードとして入れる

[loggedin_text]

フックを使う

アクションフックとフィルターフックの二つがあります。
アクションフックは特定のタイミングで実行、フィルターフックは既存の要素に対して変更や修正などの実行を行ないます。

たとえばログインしているときに、ヘッダメニューの会員登録を消したい場合

function.phpに書く

function modify_menu_items($items, $args) {
    if (SwpmMemberUtils::is_member_logged_in()) {
        // 「ログイン」メニューを削除(メニューのラベルが「ログイン」の場合)
		$items = preg_replace('/<li.*?>.*?会員登録.*?<\/li>/i', '', $items);

    }
    return $items;
}
add_filter('wp_nav_menu_items', 'modify_menu_items', 10, 2);

ログインしていれば動作します。

この内容が良いと思ったら、いいね💖を押して教えてください!

組み込みオンライン学習システム"クミタテ"を作っています クミタテを見る
wpフロントエンド
シェアしていただけると嬉しいです!

コメント

error: コンテンツ保護のため右クリック使用禁止
タイトルとURLをコピーしました