编程语言
首页 > 编程语言> > php-WooCommerce登录区域重定向到默认的WordPress登录表单

php-WooCommerce登录区域重定向到默认的WordPress登录表单

作者:互联网

如果用户未登录,Woocommerce的“我的帐户”页面将显示注册/登录表单,但我正尝试使用默认的Wordpress登录/注册页面(wp-login.php).

如果用户未登录,如何使“ / my-account”重定向到“ wp-login.php”?

谢谢.

解决方法:

通常,Woocommerce的“客户”用户角色无法访问wordpress的管理员.但是,您可以使用混在woocommerce_before_customer_login_form挂钩中的函数,将用户重定向到经典的wordpress登录区域,方法是:

add_action( 'woocommerce_before_customer_login_form', 'redirect_customer_login_access');
function redirect_customer_login_access() {

    // Here the conditions (woocommerce my account pages and unlogged user)
    if( is_account_page() && !is_user_logged_in()){

        // Define here the redirection after login (optional)
        $redirection_after = site_url( '/shop/' );

        // Redirecting to WordPress login area
        wp_redirect( wp_login_url( $redirection_after ) );

        // always use exit after wp_redirect() function.
        exit; 
    }
}

代码位于您的活动子主题(活动主题或任何插件文件)的function.php文件中.

此代码已经过测试并且可以工作.

标签:woocommerce,hook-woocommerce,user-accounts,wordpress,php
来源: https://codeday.me/bug/20191111/2023013.html