/** * Checks user role(s). * * @see https://wpcodebook.com/wordpress-check-user-role/ * * @param string|array $user_role User role(s). Use `guest` to check for the non-logged users. * @param int $user_id User ID. Set to zero for the current user. * @return bool */ function wpcodebook_is_user_role( $user_role, $user_id = 0 ) { $user = ( $user_id ? get_user_by( 'id', $user_id ) : wp_get_current_user() ); $user_roles = ( ! empty( $user->roles ) && is_array( $user->roles ) ? $user->roles : array( 'guest' ) ); return ( is_array( $user_role ) ? ! empty( array_intersect( $user_role, $user_roles ) ) : in_array( $user_role, $user_roles ) ); }