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.
This commit is contained in:
Mykyta Synelnikov
2025-06-23 12:45:55 +03:00
parent 8f34bbb4fa
commit b71cf0c359
+6 -3
View File
@@ -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
)