WooCommerce - 我的帐户 - 注销并重定向到主页

WooCommerce - My Account - logout and redirect to Homepage

一旦用户进入 WooCommerce 上的“我的帐户”页面,我希望他们点击注销并被重定向到我的主页,而不是最终进入登录页面。

add_action('wp_logout','auto_redirect_after_logout');

function auto_redirect_after_logout(){

  wp_redirect( home_url() );
  exit();

}

如果你找到了绕过 WooCommerce 注销确认的方法,你可以采取这个:

function wooHook_woocommerce_logout_bypass() {
    global $wp;

    if ( isset( $wp->query_vars['customer-logout'] ) ) {
        wp_redirect( str_replace( '&', '&', 
          wp_logout_url( wc_get_page_permalink( 'hesabim' ) ) ) );
        exit;
    }
}

add_action( 'template_redirect', 'wooHook_woocommerce_logout_bypass' );

只是添加到原始答案中,使用 exit 终止脚本可以阻止 Woocommerce 在注销后执行必要的操作,例如清除 cookie(cookie 中的购物车项目)。所以你最好的选择是像这样使用 logout_urlfilter。

function redirect_after_logout($logout_url, $redirect) {
    return $logout_url . '&redirect_to=' . home_url();
}
add_filter('logout_url', 'redirect_after_logout', 10, 2);

在 Woocommerce 版本 5.4.1 中测试 ✅