我在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 );