-
投稿者投稿
-
2022年9月18日 10:46 AM #111153
【お使いの Snow Monkey のバージョン】17.2.6
【お使いの Snow Monkey Blocks のバージョン】16.0.9
【お使いの Snow Monkey Editor のバージョン】8.0.2
【お使いのブラウザ】local
【当該サイトのURL】### 実現したいこと
会員制サイトを作成しています。
snow monkeyのサイトのようにヘッダー横にログインボタンを設置し、ログイン後はそのボタンが表示されないようにしたいです。
### 発生している問題
フックをヘッダー横にログインボタンを設置はできるのですが、ログイン後もボタンが表示されたままになってしまいます。
wp-membersというプラグインを使用して会員制サイトを作成しています。
メニューにはログインの有無で表示・非表示を設定できますが、ヘッダー横に設置したボタンに関しても同じようにできませんでしょうか?
よろしくお願いします。
♥ 0いいねをした人: 居ません2022年9月18日 3:21 PM #111164wp-membersというプラグインを使用して会員制サイトを作成しています。
このプラグインでしょうか?
メニューにはログインの有無で表示・非表示を設定できますが
このプラグインを有効化すると、メニュー設定にログインの有無で表示がコントロールできるんですね。
ヘッダー横に設置したボタンに関しても同じようにできませんでしょうか?
このプラグインに限らず、
is_user_logged_in()
で判定できると思いますので、ボタンの表示の条件として使えると思います。
また、ヘッダー横ということで、 カスタマイズ → デザイン → ヘッダー → ヘッダーコンテンツ を利用されると思いますが、私なら上記を含めたボタンのショートコードをつくって入れます。
ショートコードの作り方は検索すればたくさん出てくると思いますので、そちらを参考にしてみてください。
ショートコードに含ませるボタン表示の条件はこんな感じになると思いますが、適宜調整してください。if (!is_user_logged_in()) { // ログインユーザー以外 echo '<a href="'.esc_url( home_url('login-page') ).'" class="button-login">ログイン</a>'; }
2022年9月19日 11:08 AM #111194ありがとうございます!
教えていただいたコードでショートコードを作成したらできるようになりました!
ありがとうございます。
[wpmem_avatar]
というショートコードでアバターを表示できるのですが、こちらもログインで表示の有無の設定をしたいです。
//ログインユーザーのみ表示 function if_login($atts, $content = null) { if (is_user_logged_in()) { return '' . $content . ''; } else { return ''; } } add_shortcode('if-login', 'if_login');
このコードを使用して
[if_login][wpmem_avatar][/if_login]
としてもショートコードとして反映されません。
ログインの有無でアバター表示のショートコードを使用するにはどうすれば良いでしょうか。よろしくお願いします。
2022年9月19日 1:45 PM #111208教えていただいたコードでショートコードを作成したらできるようになりました!
実現できて良かったです。
[wpmem_avatar]というショートコードでアバターを表示できるのですが、
こちらもログインで表示の有無の設定をしたいです。このフォーラムは、ナレッジスペースとしての役割があるため1トピックにつき1つの話題というルールになっています。
「snow monkeyのサイトのように、ヘッダー横にログインボタンを設置して、ログイン後にボタンが消えるようにしたい。」が解決した場合は、いったんトピックを閉じていただき、新たにトピックを作成してください。
その際、[wpmem_avatar]
の中身をご提示いただいたほうが良いと思います。♥ 0いいねをした人: 居ません2022年9月19日 3:03 PM #111211承知しました。
一旦こちらのトピックは閉じます。
ありがとうございました!
♥ 0いいねをした人: 居ません2022年9月20日 10:14 AM #111266 -
投稿者投稿
- トピック「snow monkeyのサイトのように、ヘッダー横にログインボタンを設置して、ログイン後にボタンが消えるようにしたい。」には新しい返信をつけることはできません。