2

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

4

3 回答 3

11
add_action('wp_logout','auto_redirect_after_logout');

function auto_redirect_after_logout(){

  wp_redirect( home_url() );
  exit();

}
于 2019-02-26T05:33:12.280 回答
0

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

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 中测试 ✅</p>

于 2021-07-06T14:44:23.687 回答
-1

如果您发现如何绕过 WooCommerce 注销确认,您可以这样做:

function wooHook_woocommerce_logout_bypass() {
    global $wp;

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

add_action( 'template_redirect', 'wooHook_woocommerce_logout_bypass' );
于 2020-12-27T23:51:28.187 回答