Welcartの会員情報でログインすると「https://example.com/usces-member」に遷移しますが、今回は会員に必ず見て欲しいページなどページのURLを指定する方法を書いて行きます。
ログイン後のURLを指定
Welcartで用意されているアクションフック “usces_action_after_login” に引っ掛けるための独自関数を用意してログイン後のページURLを指定します。
以下の関数を functions.php などに追加して変更内容を適用します。
/**
* ログイン後のURLを指定する
*/
function ag_usces_action_after_login()
{
$url = home_url()."/mypage";
wp_redirect( $url );
exit;
}
add_action( 'usces_action_after_login', 'ag_usces_action_after_login' );
カートページ以外のみ独自マイページへリダイレクト
カートページの購入フローの中でログインした場合など、意図したリダイレクトをしない場合は、以下のようにリファラをチェックしてカートページ以外のみ独自のマイページへリダイレクトするようにします。
/**
* ログイン後のURLを指定する(カートページ以外のみ独自マイページへリダイレクト)
*/
function ag_usces_action_after_login()
{
$referer = $_SERVER['HTTP_REFERER'];
$url_array = parse_url($referer);
//
if (preg_match("/usces-cart/", $url_array['path'])) {
//$url = $referer;
} else {
$url = home_url()."/mypage";
wp_redirect( $url );
exit;
}
}
add_action( 'usces_action_after_login', 'ag_usces_action_after_login' );
動作環境情報
エックスサーバー(x10) PHP 7.2.27 MySQL 5.7 WordPress 5.3.2 Welcart e-Commerce 1.9.28
コメント
カートページの購入フローの中でログインした場合など、意図したリダイレクトが発生しましたので、「カートページ以外のみ独自マイページへリダイレクト」を追加しました。
https://analyzegear.co.jp/blog/815#toc2