From 1eac16f6203033a16cab1db9e70d8aa3f6f08add Mon Sep 17 00:00:00 2001 From: nikitasinelnikov Date: Wed, 11 Dec 2019 12:34:17 +0200 Subject: [PATCH] - fixed JS results template; - fixed member directory pagination settings; --- assets/css/um-members.css | 2 +- assets/sass/um-members.sass | 2 +- includes/core/class-member-directory.php | 33 ++++++++++++++++++++++++ readme.txt | 6 +++++ templates/members-header.php | 4 +-- ultimate-member.php | 2 +- 6 files changed, 44 insertions(+), 5 deletions(-) diff --git a/assets/css/um-members.css b/assets/css/um-members.css index 771f515b..8ed7073d 100644 --- a/assets/css/um-members.css +++ b/assets/css/um-members.css @@ -161,7 +161,7 @@ body #content .um-directory a { display: flex; flex-direction: row; justify-content: flex-start; - align-items: baseline; + align-items: center; flex-wrap: nowrap; width: 60%; } .um-directory .um-member-directory-header .um-member-directory-header-row .um-member-directory-search-line label { diff --git a/assets/sass/um-members.sass b/assets/sass/um-members.sass index 63e292e1..780b8b88 100644 --- a/assets/sass/um-members.sass +++ b/assets/sass/um-members.sass @@ -130,7 +130,7 @@ body &.um-member-directory-search-row justify-content: flex-end .um-member-directory-search-line - +flex( row, flex-start, baseline, nowrap ) + +flex( row, flex-start, center, nowrap ) width: 60% label flex: 1 diff --git a/includes/core/class-member-directory.php b/includes/core/class-member-directory.php index f0a5a3e1..db4ac905 100644 --- a/includes/core/class-member-directory.php +++ b/includes/core/class-member-directory.php @@ -2124,6 +2124,35 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) { } + /** + * Update limit query + * + * @param $user_query + */ + function pagination_changes( $user_query ) { + global $wpdb; + + $directory_id = $this->get_directory_by_hash( $_POST['directory_id'] ); + $directory_data = UM()->query()->post_data( $directory_id ); + + $qv = $user_query->query_vars; + + $number = $qv['number']; + if ( ! empty( $directory_data['max_users'] ) && $qv['paged']*$qv['number'] > $directory_data['max_users'] ) { + $number = ( $qv['paged']*$qv['number'] - ( $qv['paged']*$qv['number'] - $directory_data['max_users'] ) ) % $qv['number']; + } + + // limit + if ( isset( $qv['number'] ) && $qv['number'] > 0 ) { + if ( $qv['offset'] ) { + $user_query->query_limit = $wpdb->prepare( 'LIMIT %d, %d', $qv['offset'], $number ); + } else { + $user_query->query_limit = $wpdb->prepare( 'LIMIT %d, %d', $qv['number'] * ( $qv['paged'] - 1 ), $number ); + } + } + } + + /** * Main Query function for getting members via AJAX */ @@ -2238,8 +2267,12 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) { add_filter( 'get_meta_sql', array( &$this, 'change_meta_sql' ), 10, 6 ); + add_filter( 'pre_user_query', array( &$this, 'pagination_changes' ), 10, 1 ); + $user_query = new \WP_User_Query( $this->query_args ); + remove_filter( 'pre_user_query', array( &$this, 'pagination_changes' ), 10 ); + remove_filter( 'get_meta_sql', array( &$this, 'change_meta_sql' ), 10 ); /** diff --git a/readme.txt b/readme.txt index 0ec16527..c57fd7b2 100644 --- a/readme.txt +++ b/readme.txt @@ -151,6 +151,12 @@ The plugin works with popular caching plugins by automatically excluding Ultimat - Added sorting by Last & First name +* Bugfixes: + + - Fixed issues with pagination settings + - Fixed issues with member results JS template + - Fixed small CSS issues + = 2.1.2: December 4, 2019 = * Enhancements: diff --git a/templates/members-header.php b/templates/members-header.php index ae64e71a..a7b186ea 100644 --- a/templates/members-header.php +++ b/templates/members-header.php @@ -4,9 +4,9 @@