こちらを参照:How To Update The Login Link To Go To The WooCommerce Account Page
子テーマのfunction.phpに以下のコードを追加。
add_filter( 'login_url', 'cameronjonesweb_use_woocommerce_login_page' );
function cameronjonesweb_use_woocommerce_login_page( $login_url ) {
if( function_exists( 'is_woocommerce' ) && $wc_account_page = get_permalink( get_option( 'woocommerce_myaccount_page_id' ) ) ) {
$login_url = $wc_account_page;
}
return $login_url;
}
これを追加することによって、Woocommerceのログインページからログインに失敗したときにmy accountページにRedirectされます。
用途としては、一見するとWordpressで作っているのがわからないとかですかね。
上記のやり方だと、トップページからログインする際に必ず失敗し、アカウントページからでしかログインができませんでした。なので、違うやり方を記しておきます。
参照サイト:Redirect to Custom Login Page on Failed Login
add_action( 'wp_login_failed', 'pippin_login_fail' ); // hook failed login
function pippin_login_fail( $username ) {
$referrer = $_SERVER['HTTP_REFERER']; // where did the post submission come from?
// if there's a valid referrer, and it's not the default log-in screen
if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') ) {
wp_redirect(home_url() . '/?login=failed' ); // let's append some information (login=failed) to the URL for the theme to use
exit;
}
wp_redirect(home_url() . ←をリダイレクトしたいURLに変更できます。
add_action( 'wp_login_failed', 'pippin_login_fail' ); // hook failed login
function pippin_login_fail( $username ) {
$referrer = $_SERVER['HTTP_REFERER']; // where did the post submission come from?
// if there's a valid referrer, and it's not the default log-in screen
if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') ) {
wp_redirect('https://example.com/my-account' . '/?login=failed' ); // let's append some information (login=failed) to the URL for the theme to use
exit;
}