mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-11 18:56:10 +09:00
- include for core usermeta
This commit is contained in:
@@ -433,6 +433,14 @@ jQuery(document).ready( function() {
|
||||
addClass('um-forms-field um-long-field').removeClass('um-hidden-multi-selects').attr('id', list.data('id_attr') + '-' + k);
|
||||
});
|
||||
|
||||
jQuery('.um-multi-selects-add-option[data-name="um_metadata[_um_search_exclude_fields][]"]').on('click', function() {
|
||||
jQuery('.um-multi-selects-list[data-field_id="_um_search_include_fields"] li.um-multi-selects-option-line').remove();
|
||||
});
|
||||
|
||||
jQuery('.um-multi-selects-add-option[data-name="um_metadata[_um_search_include_fields][]"]').on('click', function() {
|
||||
jQuery('.um-multi-selects-list[data-field_id="_um_search_exclude_fields"] li.um-multi-selects-option-line').remove();
|
||||
});
|
||||
|
||||
var um_local_date = new Date();
|
||||
var um_gmt_hours = -um_local_date.getTimezoneOffset() / 60;
|
||||
jQuery('input[name="um-gmt-offset"]').val( um_gmt_hours );
|
||||
|
||||
@@ -1188,6 +1188,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
|
||||
delete_post_meta( $post_id, '_um_reveal_fields' );
|
||||
delete_post_meta( $post_id, '_um_search_fields' );
|
||||
delete_post_meta( $post_id, '_um_search_exclude_fields' );
|
||||
delete_post_meta( $post_id, '_um_search_include_fields' );
|
||||
delete_post_meta( $post_id, '_um_roles_can_search' );
|
||||
delete_post_meta( $post_id, '_um_roles_can_filter' );
|
||||
delete_post_meta( $post_id, '_um_show_these_users' );
|
||||
|
||||
@@ -11,6 +11,7 @@ $_um_roles_filter_value = get_post_meta( $post_id, '_um_roles_can_filter', true
|
||||
$_um_roles_filter_value = empty( $_um_roles_filter_value ) ? array() : $_um_roles_filter_value;
|
||||
|
||||
$_um_search_exclude_fields = get_post_meta( $post_id, '_um_search_exclude_fields', true );
|
||||
$_um_search_include_fields = get_post_meta( $post_id, '_um_search_include_fields', true );
|
||||
$_um_search_fields = get_post_meta( $post_id, '_um_search_fields', true );
|
||||
$_um_search_filters = get_post_meta( $post_id, '_um_search_filters', true ); ?>
|
||||
|
||||
@@ -50,6 +51,17 @@ $_um_search_filters = get_post_meta( $post_id, '_um_search_filters', true
|
||||
'show_default_number' => 0,
|
||||
'sorting' => true,
|
||||
),
|
||||
array(
|
||||
'id' => '_um_search_include_fields',
|
||||
'type' => 'multi_selects',
|
||||
'label' => __( 'Choose fields to include to search', 'ultimate-member' ),
|
||||
'value' => $_um_search_include_fields,
|
||||
'conditional' => array( '_um_filters', '=', 1 ),
|
||||
'options' => UM()->member_directory()->filter_fields,
|
||||
'add_text' => __( 'Add New Custom Field to Include', 'ultimate-member' ),
|
||||
'show_default_number' => 0,
|
||||
'sorting' => true,
|
||||
),
|
||||
array(
|
||||
'id' => '_um_filters',
|
||||
'type' => 'checkbox',
|
||||
|
||||
@@ -1712,22 +1712,30 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
||||
|
||||
$sql['where'] = str_replace( '#%&', '{' . $matches[0][0] . '}', $sql['where'] );
|
||||
|
||||
$directory_id = $this->get_directory_by_hash( sanitize_key( $_POST['directory_id'] ) );
|
||||
$exclude_fields = get_post_meta( $directory_id, '_um_search_exclude_fields', true );
|
||||
$include_fields = get_post_meta( $directory_id, '_um_search_include_fields', true );
|
||||
|
||||
if ( isset( $join_matches[1] ) ) {
|
||||
$meta_join_for_search = trim( $join_matches[1] );
|
||||
|
||||
// skip private invisible fields
|
||||
$custom_fields = array();
|
||||
foreach ( array_keys( UM()->builtin()->all_user_fields ) as $field_key ) {
|
||||
if ( empty( $field_key ) ) {
|
||||
continue;
|
||||
}
|
||||
if ( empty( $include_fields ) ) {
|
||||
foreach ( array_keys( UM()->builtin()->all_user_fields ) as $field_key ) {
|
||||
if ( empty( $field_key ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$data = UM()->fields()->get_field( $field_key );
|
||||
if ( ! um_can_view_field( $data ) ) {
|
||||
continue;
|
||||
}
|
||||
$data = UM()->fields()->get_field( $field_key );
|
||||
if ( ! um_can_view_field( $data ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$custom_fields[] = $field_key;
|
||||
$custom_fields[] = $field_key;
|
||||
}
|
||||
} else {
|
||||
$custom_fields = $include_fields;
|
||||
}
|
||||
|
||||
$custom_fields = apply_filters( 'um_general_search_custom_fields', $custom_fields );
|
||||
@@ -1740,8 +1748,6 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
||||
);
|
||||
}
|
||||
|
||||
$directory_id = $this->get_directory_by_hash( sanitize_key( $_POST['directory_id'] ) );
|
||||
$exclude_fields = get_post_meta( $directory_id, '_um_search_exclude_fields', true );
|
||||
if ( ! empty( $exclude_fields ) ) {
|
||||
foreach ( $exclude_fields as $field ) {
|
||||
$sql['join'] = str_replace( ",'" . $field . "'", '', $sql['join'] );
|
||||
|
||||
Reference in New Issue
Block a user