Wp_logout未使用wp_logout_url()和wp_reDirect()进行重定向

时间:2016-10-25 作者:Sarthak Shelke

我已经为注销用户编写了这个函数。用户正在注销,但没有重定向到页面,而是转到默认注销Url的主页。我尝试了wp\\u logout\\u url()和wp\\u redirect()。

function wc_registration_redirect( $redirect_to) {
    wp_logout();
    wp_redirect( \'/my-account\');
    exit;
}

2 个回复
SO网友:TheDeadMedic

更改注销重定向的正确方法是logout_redirect 过滤器:

/**
 * Filters the log out redirect URL.
 *
 * @since 4.2.0
 *
 * @param string  $redirect_to           The redirect destination URL.
 * @param string  $requested_redirect_to The requested redirect destination URL passed as a parameter.
 * @param WP_User $user                  The WP_User object for the user that\'s logging out.
 */
add_filter( \'logout_redirect\', function( $redirect_to, $requested_redirect_to, $user ) {
    if ( ! $requested_redirect_to ) { // Don\'t override the redirect if one was already set in the logout URL
        $redirect = home_url( user_trailingslashit( \'my-account\' ) );
    }

    return $redirect;
}, 10, 3 );

SO网友:CodeMascot

你需要把它挂到wp_logout 操作挂钩并移除wp_logout(); 从函数。它将如下所示-

add_action(\'wp_logout\', \'wc_registration_redirect\');

function wc_registration_redirect( $redirect_to) {
    wp_redirect( \'/my-account\');
    exit;
}

相关推荐

Update user meta on logout

我已经看到了一些答案,但这些问题已经有好多年的历史了,在尝试了他们的回答之后,我没能让它起作用。我需要在注销过程中更新用户元数据,特别是在用户空闲时间过长时发生的自动注销过程。我正在使用下面的代码,但用户元没有更新。add_action(\'clear_auth_cookie\', \'t_o_update\'); function t_o_update() { $user = wp_get_current_user(); update_user_meta($user-&g