这个wp_logout
操作在用户注销后激发。他们不再扮演角色。
然而,自WordPress 5.5.0以来,挂钩采用了一个参数:正在注销的用户的ID。因此,您可以通过使用该ID而不是wp_get_current_user()
.
function redirect_after_logout( $user_id ) {
$current_user = get_user_by( \'id\', $user_id );
$role_name = $current_user->roles[0];
if($role_name == \'employee\'){
$redirect_url = site_url();
wp_safe_redirect( $redirect_url );
exit;
}
}
add_action( \'wp_logout\', \'redirect_after_logout\' );
如果您至少没有使用WordPress 5.5.0,这将不起作用(您可能也应该更新)。
get_user_by()