Merge remote-tracking branch 'remotes/origin/feature/additional_search_filters_for_members' into release/2.0.26

This commit is contained in:
nikitozzzzzzz
2018-10-02 12:34:56 +03:00
3 changed files with 29 additions and 6 deletions
@@ -78,6 +78,15 @@
'add_text' => __( 'Add New Custom Field','ultimate-member' ),
'show_default_number' => 1,
),
array(
'id' => '_um_search_filters',
'type' => 'text',
'label' => __( 'Additional search filters', 'ultimate-member' ),
'tooltip' => __( 'Additional search filters like URL parameters' ),
'value' => UM()->query()->get_meta_value('_um_search_filters', null, '' ),
'conditional' => array( '_um_search', '=', 1 ),
'placeholder' => 'field1=val1&field2=val2'
),
array(
'id' => '_um_directory_header',
'type' => 'text',
+1
View File
@@ -149,6 +149,7 @@ if ( ! class_exists( 'um\Config' ) ) {
'_um_profile_photo' => '1',
'_um_cover_photos' => '1',
'_um_show_name' => '1',
'_um_search_filters' => '',
'_um_directory_header' => __('{total_users} Members','ultimate-member'),
'_um_directory_header_single' => __('{total_users} Member','ultimate-member'),
'_um_directory_no_users' => __('We are sorry. We cannot find any users who match your search criteria.','ultimate-member'),
+13
View File
@@ -100,6 +100,8 @@ add_filter( 'um_prepare_user_query_args', 'um_remove_special_users_from_list', 9
/**
* Adds search parameters
*
* @hooked 'um_prepare_user_query_args'
*
* @param $query_args
* @param $args
*
@@ -108,10 +110,21 @@ add_filter( 'um_prepare_user_query_args', 'um_remove_special_users_from_list', 9
function um_add_search_to_query( $query_args, $args ){
extract( $args );
if( !empty( $args['search_filters'] ) ){
$_REQUEST['um_search'] = 1;
}
if ( isset( $_REQUEST['um_search'] ) ) {
$query = UM()->permalinks()->get_query_array();
if( !empty( $args['search_filters'] ) ){
parse_str( $args['search_filters'], $search_filters );
if( $search_filters && is_array( $search_filters ) ){
$query = array_merge( $search_filters, $query );
}
}
// if searching
if ( isset( $query['search'] ) ) {
$query_args['search'] = '*' . um_filter_search( $query['search'] ) . '*';