WooCommerce-付款后自动注销

时间:2019-04-27 作者:nicolas181070

我需要在付款后自动注销用户/客户,每次客户或用户关闭浏览器时,他都会自动注销

1 个回复
SO网友:nicolas181070

我在wordpress函数中使用了此代码。php,用于在woocommerce中付款后自动注销客户/用户或关闭浏览器

function logged_in( $expirein ) {
   return 6; // 6 in seconds
}
add_filter( \'auth_cookie_expiration\', \'logged_in\' );

function wp_logout2() {
    wp_destroy_current_session();
    wp_clear_auth_cookie();

    /**
     * Fires after a user is logged-out.
     *
     * @since 1.5.0
     */
    do_action( \'wp_logout2\' );
}

function wpse108399_change_cookie_logout( $expiration, $user_id, $remember ){
    if( $remember && user_can( $user_id, \'administrator\' ) ){
        $expiration = 604800;// yes, I know this is 1 minute
    }
    if( $remember && user_can( $user_id, \'editor\' ) ){
        $expiration = 604800;// yes, I know this is 1 minute
    }
    }
    return $expiration;
}
add_filter( \'auth_cookie_expiration\',\'wpse108399_change_cookie_logout\', 10, 3 );

/**
 * Bypass logout confirmation.
 */
function iconic_bypass_logout_confirmation() {
    global $wp;

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

add_action( \'template_redirect\', \'iconic_bypass_logout_confirmation\' );
这段代码的一部分是为了增加wordpress管理员或其他类型用户的过期时间

function wpse108399_change_cookie_logout( $expiration, $user_id, $remember ){
    if( $remember && user_can( $user_id, \'administrator\' ) ){
        $expiration = 604800;// yes, I know this is 1 minute
    }
    if( $remember && user_can( $user_id, \'editor\' ) ){
        $expiration = 604800;// yes, I know this is 1 minute
    }
    }
    return $expiration;
}
add_filter( \'auth_cookie_expiration\',\'wpse108399_change_cookie_logout\', 10, 3 );

相关推荐

Wp_logout_url($reDirect);在WordPress中不起作用

我正在编写一个简单的WP插件,可以让用户登录和注销。就登录而言,它工作正常,但我无法通过插件注销。登录后注销不起作用。我尝试了很多建议的解决方案,但都没有奏效。这是我的代码:function vrm_loginout(){ if(is_user_logged_in()){ echo \'<a href=\"<?php echo wp_logout_url($redirect); ?>\" title=\"Logout\">