diff --git a/includes/core/class-member-directory-meta.php b/includes/core/class-member-directory-meta.php index af70f0b8..bcddc2ad 100644 --- a/includes/core/class-member-directory-meta.php +++ b/includes/core/class-member-directory-meta.php @@ -818,6 +818,12 @@ if ( ! class_exists( 'um\core\Member_Directory_Meta' ) ) { global $wpdb; + /* + * + * SQL_CALC_FOUND_ROWS is deprecated as of MySQL 8.0.17 + * https://core.trac.wordpress.org/ticket/47280 + * + * */ $user_ids = $wpdb->get_col( "SELECT SQL_CALC_FOUND_ROWS DISTINCT u.ID {$this->select} @@ -829,8 +835,38 @@ if ( ! class_exists( 'um\core\Member_Directory_Meta' ) ) { {$this->sql_limit}" ); + $query = array( + 'select' => $this->select, + 'sql_where' => $sql_where, + 'having' => $this->having, + 'sql_limit' => $this->sql_limit, + ); + $total_users = (int) $wpdb->get_var( 'SELECT FOUND_ROWS()' ); + /** + * UM hook + * + * @type filter + * @title um_prepare_user_results_array_meta + * @description Extend member directory query result + * @input_vars + * [{"var":"$result","type":"array","desc":"Members Query Result"}] + * @change_log + * ["Since: 2.0"] + * @usage + * + * @example + * + */ + $user_ids = apply_filters( 'um_prepare_user_results_array_meta', $user_ids, $query ); + $pagination_data = $this->calculate_pagination( $directory_data, $total_users ); $sizes = UM()->options()->get( 'cover_thumb_sizes' ); diff --git a/includes/core/class-member-directory.php b/includes/core/class-member-directory.php index 22283143..56f981ab 100644 --- a/includes/core/class-member-directory.php +++ b/includes/core/class-member-directory.php @@ -2518,17 +2518,17 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) { * @change_log * ["Since: 2.0"] * @usage - * + * * @example * */ - $user_ids = apply_filters( 'um_prepare_user_results_array', $user_ids ); + $user_ids = apply_filters( 'um_prepare_user_results_array', $user_ids, $this->query_args ); $sizes = UM()->options()->get( 'cover_thumb_sizes' );