Creating a Custom Login for WooCommerce
// Custom login page redirect
function custom_woocommerce_login_redirect( $redirect, $user ) {
$redirect_page_id = url_to_postid( $redirect );
$checkout_page_id = wc_get_page_id( 'checkout' );
if ( $redirect_page_id == $checkout_page_id ) {
return $redirect;
}
return home_url('/custom-account-page/');
}
add_filter( 'woocommerce_login_redirect', 'custom_woocommerce_login_redirect', 10, 2 );
// Custom login form shortcode
function custom_woocommerce_login_form() {
if ( is_user_logged_in() ) return '';
ob_start();
?>
<div class="custom-login-form">
<h2>Login to Your Account</h2>
<?php
woocommerce_login_form( array(
'redirect' => wc_get_page_permalink( 'myaccount' ),
'remember' => true
) );
?>
<p class="register-link">
Don't have an account? <a href="/<?php echo esc_url( wp_registration_url() ); ?>">Register here</a>
</p>
</div>
<?php
return ob_get_clean();
}
add_shortcode( 'custom_woocommerce_login', 'custom_woocommerce_login_form' );