From b71cf0c359a8c376d44edaa152ed8c6cc220b13e Mon Sep 17 00:00:00 2001 From: Mykyta Synelnikov Date: Mon, 23 Jun 2025 12:45:55 +0300 Subject: [PATCH] Filter out empty meta values in usermeta queries. Alternative of #1707 This update adds a condition to exclude empty `meta_value` entries in multiple queries within the member directory class. It ensures more accurate results and prevents potential issues caused by blank metadata in the `usermeta` table. --- includes/core/class-member-directory.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/includes/core/class-member-directory.php b/includes/core/class-member-directory.php index d1ca1d31..81c825fc 100644 --- a/includes/core/class-member-directory.php +++ b/includes/core/class-member-directory.php @@ -1101,7 +1101,8 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) { $wpdb->prepare( "SELECT DISTINCT meta_value FROM {$wpdb->usermeta} - WHERE meta_key = %s + WHERE meta_key = %s AND + meta_value != '' ORDER BY meta_value DESC", $filter ) @@ -1122,7 +1123,8 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) { MIN(meta_value) AS min, MAX(meta_value) AS max FROM {$wpdb->usermeta} - WHERE meta_key = '_um_last_login'", + WHERE meta_key = '_um_last_login' AND + meta_value != ''", ARRAY_A ); if ( empty( $meta['total'] ) || 1 === absint( $meta['total'] ) ) { @@ -1161,7 +1163,8 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) { $wpdb->prepare( "SELECT DISTINCT meta_value FROM {$wpdb->usermeta} - WHERE meta_key = %s + WHERE meta_key = %s AND + meta_value != '' ORDER BY meta_value DESC", $filter )