情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
久々に半日悩んだ仕様。
全体の設定ではログイン後はプロフィールページにリダイレクト。*Theme My Login の拡張機能ではなく、テーマ関数での設定。
ユーザーのみ閲覧可のページへのアクセスからログインした場合は、そのページへリダイレクトしたい。*プラグインは使用せず、テーマ上で分岐。
色々考えたが、テンプレートタグでのログインフォームではサイトガードの画像認証が表示されないので、Theme My Login のログインフォームにフィールドを追加してアクセスされた投稿のIDを送り、ログイン後はそのIDのパーマリンクへリダイレクトとした。
tml_add_form_field( 'login', 'id', array( 'type' => 'hidden', 'value' => get_the_ID(), 'priority' => 4, ) ); if ( !is_user_logged_in() ) { echo do_shortcode( '[theme-my-login action="login"]' ); }
https://docs.thememylogin.com/article/104-function-tmladdformfield 参照
リダイレクト設定の方は if ($user->roles[0] == ‘subscriber’ && isset($_POST[‘id’])) { $id = $_POST[‘id’]; $permalink = get_permalink($id);~のような感じ。