こんにちは
ログインボタンのログインフォームへのリンク先 URL に URL パラメータ「redirect_to」でリダイレクト先 URL を指定すればいいのではないでしょうか。
https://docs.ultimatemember.com/article/1543-how-to-hide-a-page-for-logged-out-users
ありがとうございます。
はい、その方法ですと、ひとつのページしか指定出来ないかと思うのですが、
ログインフォームへのリンクボタンを複数のページへ設置している場合、動的に変える方法があれば、
知りたかったもので。
ログインボタンはどのように出力(テンプレートファイル?)されていますか?
<div class="log-in-out-parts">
<a href="◯◯◯/login/"><p>
ログイン
</p></a>
<a href="◯◯◯/logout/"><p>
ログアウト
</p></a>
</div>
ログイン・ログアウト併設してますが、bodyのclassにより、CSSで出し分けしてます。
こんな感じではどうでしょうか。
<a href="◯◯◯/login/"><p>
ログイン
</p></a>
<a href="◯◯◯/logout/"><p>
ログアウト
</p></a>
↓
<a href="◯◯◯/login/?redirect_to=<?php echo urlencode( home_url( add_query_arg() ) ); ?>"><p>
ログイン
</p></a>
<a href="◯◯◯/logout/?redirect_to=<?php echo urlencode( home_url( add_query_arg() ) ); ?>"><p>
ログアウト
</p></a>
<div class="log-in-out-parts">
<a href="◯◯◯/login/?redirect_to=<?php echo urlencode( home_url( add_query_arg() ) ); ?>"><p>
ログイン
</p></a>
<a href="◯◯◯/logout/?redirect_to=<?php echo urlencode( home_url( add_query_arg() ) ); ?>"><p>
ログアウト
</p></a>
</div>
と入れてみたのですが、ログインボタンは表示がされなくなり、ログアウトボタンは表示はされるのですが、機能しなくなりました。
すみません、elementorを使用しておりまして、当方の記載ミスでした。
ログアウトの方は以前と同様、ログアウト動作後、そのページからは移動しないままで、
ログインの方は、やはり、ボタンを設置したページには戻らず、ログイン後はログインフォームのままでした。(https://◯◯◯/login/)
すみません、ログインボタンの方は変更する必要ありませんでした。
elementorを使用しておりまして、
前レスのコードはテンプレートファイルに記述することを想定したものでした。
投稿の編集画面のようなので、ボタンの表示をショートコード化するのはどうでしょうか。下記コードを子テーマの functions.php に追記すると、my_login_button ショートコードでボタンを表示できるようになります。
子テーマの functions.php に、
function my_login_button_shortcode() {
return '
<div class="log-in-out-parts">
<a href="◯◯◯/login/?redirect_to=' . urlencode( home_url( add_query_arg() ) ) . '"><p>
ログイン
</p></a>
<a href="◯◯◯/logout/"><p>
ログアウト
</p></a>
</div>';
}
add_shortcode( 'my_login_button', 'my_login_button_shortcode' );
シートコード:
[my_login_button]
テンプレートファイルへの記載用だったのですね、すみませんでした。
今、該当のショートコードをfunctionsへ追加後、ページへショートコードを設置する事解決いたしました!
本当に、いつもありがとうございます!!