- intermediate results with sanitizing form handlers;

This commit is contained in:
Nikita Sinelnikov
2021-06-29 02:51:54 +03:00
parent 23d1b982a4
commit 07e664be80
63 changed files with 4337 additions and 2812 deletions
@@ -1,18 +1,23 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
} ?>
<div class="um-admin-metabox">
<?php UM()->admin_forms( array(
'class' => 'um-member-directory-appearance um-top-label',
'prefix_id' => 'um_metadata',
'fields' => array(
array(
'id' => '_um_directory_template',
'type' => 'select',
'label' => __( 'Template', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_directory_template', null, UM()->options()->get( 'directory_template' ) ),
'options' => UM()->shortcodes()->get_templates( 'members' ),
)
<?php
UM()->admin_forms(
array(
'class' => 'um-member-directory-appearance um-top-label',
'prefix_id' => 'um_metadata',
'fields' => array(
array(
'id' => '_um_directory_template',
'type' => 'select',
'label' => __( 'Template', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_directory_template', null, UM()->options()->get( 'directory_template' ) ),
'options' => UM()->shortcodes()->get_templates( 'members' ),
),
),
)
) )->render_form(); ?>
</div>
)->render_form();
?>
</div>
+105 -97
View File
@@ -1,4 +1,6 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit;
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
global $post_id;
@@ -7,117 +9,123 @@ $_um_roles_value = empty( $_um_roles_value ) ? array() : $_um_roles_value;
$show_these_users = get_post_meta( get_the_ID(), '_um_show_these_users', true );
if ( $show_these_users ) {
$show_these_users = implode( "\n", str_replace( "\r", "", $show_these_users ) );
$show_these_users = implode( "\n", str_replace( "\r", '', $show_these_users ) );
}
$exclude_these_users = get_post_meta( get_the_ID(), '_um_exclude_these_users', true );
if ( $exclude_these_users ) {
$exclude_these_users = implode( "\n", str_replace( "\r", "", $exclude_these_users ) );
$exclude_these_users = implode( "\n", str_replace( "\r", '', $exclude_these_users ) );
}
$_um_view_types_value = get_post_meta( $post_id, '_um_view_types', true );
$_um_view_types_value = empty( $_um_view_types_value ) ? array( 'grid', 'list' ) : $_um_view_types_value;
$view_types_options = array_map( function( $item ) {
return $item['title'];
}, UM()->member_directory()->view_types );
$view_types_options = array_map(
function( $item ) {
return $item['title'];
},
UM()->member_directory()->view_types
);
$conditional = array();
foreach ( $view_types_options as $key => $value ) {
$conditional[] = '_um_view_types_' . $key;
} ?>
}
$fields = array(
array(
'id' => '_um_mode',
'type' => 'hidden',
'value' => 'directory',
),
array(
'id' => '_um_view_types',
'type' => 'multi_checkbox',
'label' => __( 'View type(s)', 'ultimate-member' ),
'tooltip' => __( 'View type a specific parameter in the directory', 'ultimate-member' ),
'options' => $view_types_options,
'columns' => 3,
'value' => $_um_view_types_value,
'data' => array( 'fill__um_default_view' => 'checkbox_key' ),
),
array(
'id' => '_um_default_view',
'type' => 'select',
'label' => __( 'Default view type', 'ultimate-member' ),
'tooltip' => __( 'Default directory view type', 'ultimate-member' ),
'options' => $view_types_options,
'value' => UM()->query()->get_meta_value( '_um_default_view', null, 'grid' ),
'conditional' => array( implode( '|', $conditional ), '~', 1 ),
),
array(
'id' => '_um_roles',
'type' => 'multi_checkbox',
'label' => __( 'User Roles to Display', 'ultimate-member' ),
'tooltip' => __( 'If you do not want to show all members, select only user roles to appear in this directory', 'ultimate-member' ),
'options' => UM()->roles()->get_roles(),
'columns' => 3,
'value' => $_um_roles_value,
),
array(
'id' => '_um_has_profile_photo',
'type' => 'checkbox',
'label' => __( 'Only show members who have uploaded a profile photo', 'ultimate-member' ),
'tooltip' => __( 'If \'Use Gravatars\' as profile photo is enabled, this option is ignored', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_has_profile_photo' ),
),
array(
'id' => '_um_has_cover_photo',
'type' => 'checkbox',
'label' => __( 'Only show members who have uploaded a cover photo', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_has_cover_photo' ),
),
array(
'id' => '_um_show_these_users',
'type' => 'textarea',
'label' => __( 'Only show specific users (Enter one username per line)', 'ultimate-member' ),
'value' => $show_these_users,
),
array(
'id' => '_um_exclude_these_users',
'type' => 'textarea',
'label' => __( 'Exclude specific users (Enter one username per line)', 'ultimate-member' ),
'value' => $exclude_these_users,
),
);
/**
* UM hook
*
* @type filter
* @title um_admin_extend_directory_options_general
* @description Extend Directory options fields
* @input_vars
* [{"var":"$fields","type":"array","desc":"Directory options fields"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_directory_sort_users_select', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_directory_sort_users_select', 'my_directory_sort_users_select', 10, 1 );
* function my_directory_sort_users_select( $sort_types ) {
* // your code here
* return $sort_types;
* }
* ?>
*/
$fields = apply_filters( 'um_admin_extend_directory_options_general', $fields ); ?>
<div class="um-admin-metabox">
<?php $fields = array(
<?php
UM()->admin_forms(
array(
'id' => '_um_mode',
'type' => 'hidden',
'value' => 'directory',
),
array(
'id' => '_um_view_types',
'type' => 'multi_checkbox',
'label' => __( 'View type(s)', 'ultimate-member' ),
'tooltip' => __( 'View type a specific parameter in the directory', 'ultimate-member' ),
'options' => $view_types_options,
'columns' => 3,
'value' => $_um_view_types_value,
'data' => array( 'fill__um_default_view' => 'checkbox_key' ),
),
array(
'id' => '_um_default_view',
'type' => 'select',
'label' => __( 'Default view type', 'ultimate-member' ),
'tooltip' => __( 'Default directory view type', 'ultimate-member' ),
'options' => $view_types_options,
'value' => UM()->query()->get_meta_value( '_um_default_view', null, 'grid' ),
'conditional' => array( implode( '|', $conditional ), '~', 1 )
),
array(
'id' => '_um_roles',
'type' => 'multi_checkbox',
'label' => __( 'User Roles to Display', 'ultimate-member' ),
'tooltip' => __( 'If you do not want to show all members, select only user roles to appear in this directory', 'ultimate-member' ),
'options' => UM()->roles()->get_roles(),
'columns' => 3,
'value' => $_um_roles_value,
),
array(
'id' => '_um_has_profile_photo',
'type' => 'checkbox',
'label' => __( 'Only show members who have uploaded a profile photo', 'ultimate-member' ),
'tooltip' => __( 'If \'Use Gravatars\' as profile photo is enabled, this option is ignored', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_has_profile_photo' ),
),
array(
'id' => '_um_has_cover_photo',
'type' => 'checkbox',
'label' => __( 'Only show members who have uploaded a cover photo', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_has_cover_photo' ),
),
array(
'id' => '_um_show_these_users',
'type' => 'textarea',
'label' => __( 'Only show specific users (Enter one username per line)', 'ultimate-member' ),
'value' => $show_these_users,
),
array(
'id' => '_um_exclude_these_users',
'type' => 'textarea',
'label' => __( 'Exclude specific users (Enter one username per line)', 'ultimate-member' ),
'value' => $exclude_these_users,
),
);
/**
* UM hook
*
* @type filter
* @title um_admin_extend_directory_options_general
* @description Extend Directory options fields
* @input_vars
* [{"var":"$fields","type":"array","desc":"Directory options fields"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_directory_sort_users_select', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_directory_sort_users_select', 'my_directory_sort_users_select', 10, 1 );
* function my_directory_sort_users_select( $sort_types ) {
* // your code here
* return $sort_types;
* }
* ?>
*/
$fields = apply_filters( 'um_admin_extend_directory_options_general', $fields );
UM()->admin_forms( array(
'class' => 'um-member-directory-general um-half-column',
'prefix_id' => 'um_metadata',
'fields' => $fields
) )->render_form(); ?>
'class' => 'um-member-directory-general um-half-column',
'prefix_id' => 'um_metadata',
'fields' => $fields,
)
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>
@@ -1,68 +1,72 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
} ?>
<div class="um-admin-metabox">
<?php UM()->admin_forms( array(
'class' => 'um-member-directory-pagination um-half-column',
'prefix_id' => 'um_metadata',
'fields' => array(
array(
'id' => '_um_must_search',
'type' => 'checkbox',
'label' => __( 'Show results only after search/filtration', 'ultimate-member' ),
'tooltip' => __( 'If turned on, member results will only appear after search/filter is performed', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_must_search' ),
'conditional' => array( '_um_search||_um_filters', '=', 1 ),
),
array(
'id' => '_um_max_users',
'type' => 'number',
'label' => __( 'Maximum number of profiles', 'ultimate-member' ),
'tooltip' => __( 'Use this setting to control the maximum number of profiles to appear in this directory. Leave blank to disable this limit', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_max_users', null, 'na' ),
'size' => 'small'
),
array(
'id' => '_um_profiles_per_page',
'type' => 'number',
'label' => __( 'Number of profiles per page', 'ultimate-member' ),
'tooltip' => __( 'Number of profiles to appear on page for standard users', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profiles_per_page', null, 12 ),
'size' => 'small'
),
array(
'id' => '_um_profiles_per_page_mobile',
'type' => 'number',
'label' => __( 'Number of profiles per page (for Mobiles & Tablets)', 'ultimate-member' ),
'tooltip' => __( 'Number of profiles to appear on page for mobile users', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profiles_per_page_mobile', null, 8 ),
'size' => 'small'
),
array(
'id' => '_um_directory_header',
'type' => 'text',
'label' => __( 'Results Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the search result text . e.g. Found 3,000 Members. Leave this blank to not show result text', 'ultimate-member' ),
'description' => __( 'You could use {total_users} placeholder for getting users count', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_directory_header', null, 'na' ),
),
array(
'id' => '_um_directory_header_single',
'type' => 'text',
'label' => __( 'Single Result Text', 'ultimate-member' ),
'tooltip' => __( 'Same as above but in case of 1 user found only', 'ultimate-member' ),
'description' => __( 'You could use {total_users} placeholder for getting users count', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_directory_header_single', null, 'na' ),
),
array(
'id' => '_um_directory_no_users',
'type' => 'text',
'label' => __( 'Custom text if no users were found', 'ultimate-member' ),
'tooltip' => __( 'This is the text that is displayed if no users are found during a search', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_directory_no_users', null, 'na' ),
<?php
UM()->admin_forms(
array(
'class' => 'um-member-directory-pagination um-half-column',
'prefix_id' => 'um_metadata',
'fields' => array(
array(
'id' => '_um_must_search',
'type' => 'checkbox',
'label' => __( 'Show results only after search/filtration', 'ultimate-member' ),
'tooltip' => __( 'If turned on, member results will only appear after search/filter is performed', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_must_search' ),
'conditional' => array( '_um_search||_um_filters', '=', 1 ),
),
array(
'id' => '_um_max_users',
'type' => 'number',
'label' => __( 'Maximum number of profiles', 'ultimate-member' ),
'tooltip' => __( 'Use this setting to control the maximum number of profiles to appear in this directory. Leave blank to disable this limit', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_max_users', null, 'na' ),
'size' => 'small',
),
array(
'id' => '_um_profiles_per_page',
'type' => 'number',
'label' => __( 'Number of profiles per page', 'ultimate-member' ),
'tooltip' => __( 'Number of profiles to appear on page for standard users', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profiles_per_page', null, 12 ),
'size' => 'small',
),
array(
'id' => '_um_profiles_per_page_mobile',
'type' => 'number',
'label' => __( 'Number of profiles per page (for Mobiles & Tablets)', 'ultimate-member' ),
'tooltip' => __( 'Number of profiles to appear on page for mobile users', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profiles_per_page_mobile', null, 8 ),
'size' => 'small',
),
array(
'id' => '_um_directory_header',
'type' => 'text',
'label' => __( 'Results Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the search result text . e.g. Found 3,000 Members. Leave this blank to not show result text', 'ultimate-member' ),
'description' => __( 'You could use {total_users} placeholder for getting users count', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_directory_header', null, 'na' ),
),
array(
'id' => '_um_directory_header_single',
'type' => 'text',
'label' => __( 'Single Result Text', 'ultimate-member' ),
'tooltip' => __( 'Same as above but in case of 1 user found only', 'ultimate-member' ),
'description' => __( 'You could use {total_users} placeholder for getting users count', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_directory_header_single', null, 'na' ),
),
array(
'id' => '_um_directory_no_users',
'type' => 'text',
'label' => __( 'Custom text if no users were found', 'ultimate-member' ),
'tooltip' => __( 'This is the text that is displayed if no users are found during a search', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_directory_no_users', null, 'na' ),
),
),
)
) )->render_form(); ?>
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>
+115 -112
View File
@@ -1,117 +1,120 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$user_fields = array();
foreach ( UM()->builtin()->all_user_fields() as $key => $arr ) {
$user_fields[ $key ] = isset( $arr['title'] ) ? $arr['title'] : '';
}
$post_id = get_the_ID();
$_um_tagline_fields = get_post_meta( $post_id, '_um_tagline_fields', true );
$_um_reveal_fields = get_post_meta( $post_id, '_um_reveal_fields', true );
$fields = array(
array(
'id' => '_um_profile_photo',
'type' => 'checkbox',
'label' => __( 'Enable Profile Photo', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_photo', null, 1 ),
),
array(
'id' => '_um_cover_photos',
'type' => 'checkbox',
'label' => __( 'Enable Cover Photo', 'ultimate-member' ),
'tooltip' => __( 'If turned on, the users cover photo will appear in the directory', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_cover_photos', null, 1 ),
),
array(
'id' => '_um_show_name',
'type' => 'checkbox',
'label' => __( 'Show display name', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_name', null, 1 ),
),
array(
'id' => '_um_show_tagline',
'type' => 'checkbox',
'label' => __( 'Show tagline below profile name', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_tagline' ),
),
array(
'id' => '_um_tagline_fields',
'type' => 'multi_selects',
'label' => __( 'Choose field(s) to display in tagline', 'ultimate-member' ),
'value' => $_um_tagline_fields,
'conditional' => array( '_um_show_tagline', '=', 1 ),
'add_text' => __( 'Add New Custom Field', 'ultimate-member' ),
'options' => $user_fields,
'show_default_number' => 1,
'sorting' => true,
),
array(
'id' => '_um_show_userinfo',
'type' => 'checkbox',
'label' => __( 'Show extra user information below tagline?', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_userinfo' ),
),
array(
'id' => '_um_reveal_fields',
'type' => 'multi_selects',
'label' => __( 'Choose field(s) to display in extra user information section', 'ultimate-member' ),
'value' => $_um_reveal_fields,
'add_text' => __( 'Add New Custom Field', 'ultimate-member' ),
'conditional' => array( '_um_show_userinfo', '=', 1 ),
'options' => $user_fields,
'show_default_number' => 1,
'sorting' => true,
),
array(
'id' => '_um_show_social',
'type' => 'checkbox',
'label' => __( 'Show social connect icons in extra user information section', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_social' ),
'conditional' => array( '_um_show_userinfo', '=', 1 ),
),
array(
'id' => '_um_userinfo_animate',
'type' => 'checkbox',
'label' => __( 'Hide extra user information to the reveal section', 'ultimate-member' ),
'tooltip' => __( 'If not checked always shown', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_userinfo_animate' ),
'conditional' => array( '_um_show_userinfo', '=', 1 ),
),
);
/**
* UM hook
*
* @type filter
* @title um_admin_extend_directory_options_general
* @description Extend Directory options fields
* @input_vars
* [{"var":"$fields","type":"array","desc":"Directory options fields"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_directory_sort_users_select', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_directory_sort_users_select', 'my_directory_sort_users_select', 10, 1 );
* function my_directory_sort_users_select( $sort_types ) {
* // your code here
* return $sort_types;
* }
* ?>
*/
$fields = apply_filters( 'um_admin_extend_directory_options_profile', $fields ); ?>
<div class="um-admin-metabox">
<?php $user_fields = array();
foreach ( UM()->builtin()->all_user_fields() as $key => $arr ) {
$user_fields[ $key ] = isset( $arr['title'] ) ? $arr['title'] : '';
}
$post_id = get_the_ID();
$_um_tagline_fields = get_post_meta( $post_id, '_um_tagline_fields', true );
$_um_reveal_fields = get_post_meta( $post_id, '_um_reveal_fields', true );
$fields = array(
<?php
UM()->admin_forms(
array(
'id' => '_um_profile_photo',
'type' => 'checkbox',
'label' => __( 'Enable Profile Photo', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_photo', null, 1 ),
),
array(
'id' => '_um_cover_photos',
'type' => 'checkbox',
'label' => __( 'Enable Cover Photo', 'ultimate-member' ),
'tooltip' => __( 'If turned on, the users cover photo will appear in the directory', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_cover_photos', null, 1 ),
),
array(
'id' => '_um_show_name',
'type' => 'checkbox',
'label' => __( 'Show display name', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_name', null, 1 ),
),
array(
'id' => '_um_show_tagline',
'type' => 'checkbox',
'label' => __( 'Show tagline below profile name', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_tagline' ),
),
array(
'id' => '_um_tagline_fields',
'type' => 'multi_selects',
'label' => __( 'Choose field(s) to display in tagline', 'ultimate-member' ),
'value' => $_um_tagline_fields,
'conditional' => array( '_um_show_tagline', '=', 1 ),
'add_text' => __( 'Add New Custom Field', 'ultimate-member' ),
'options' => $user_fields,
'show_default_number' => 1,
'sorting' => true,
),
array(
'id' => '_um_show_userinfo',
'type' => 'checkbox',
'label' => __( 'Show extra user information below tagline?', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_userinfo' ),
),
array(
'id' => '_um_reveal_fields',
'type' => 'multi_selects',
'label' => __( 'Choose field(s) to display in extra user information section', 'ultimate-member' ),
'value' => $_um_reveal_fields,
'add_text' => __( 'Add New Custom Field', 'ultimate-member' ),
'conditional' => array( '_um_show_userinfo', '=', 1 ),
'options' => $user_fields,
'show_default_number' => 1,
'sorting' => true,
),
array(
'id' => '_um_show_social',
'type' => 'checkbox',
'label' => __( 'Show social connect icons in extra user information section', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_social' ),
'conditional' => array( '_um_show_userinfo', '=', 1 )
),
array(
'id' => '_um_userinfo_animate',
'type' => 'checkbox',
'label' => __( 'Hide extra user information to the reveal section', 'ultimate-member' ),
'tooltip' => __( 'If not checked always shown', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_userinfo_animate' ),
'conditional' => array( '_um_show_userinfo', '=', 1 )
),
);
/**
* UM hook
*
* @type filter
* @title um_admin_extend_directory_options_general
* @description Extend Directory options fields
* @input_vars
* [{"var":"$fields","type":"array","desc":"Directory options fields"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_directory_sort_users_select', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_directory_sort_users_select', 'my_directory_sort_users_select', 10, 1 );
* function my_directory_sort_users_select( $sort_types ) {
* // your code here
* return $sort_types;
* }
* ?>
*/
$fields = apply_filters( 'um_admin_extend_directory_options_profile', $fields );
UM()->admin_forms( array(
'class' => 'um-member-directory-profile um-half-column',
'prefix_id' => 'um_metadata',
'fields' => $fields,
) )->render_form(); ?>
'class' => 'um-member-directory-profile um-half-column',
'prefix_id' => 'um_metadata',
'fields' => $fields,
)
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>
+92 -89
View File
@@ -1,97 +1,100 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit;
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
global $post_id; ?>
global $post_id;
$_um_roles_search_value = get_post_meta( $post_id, '_um_roles_can_search', true );
$_um_roles_search_value = empty( $_um_roles_search_value ) ? array() : $_um_roles_search_value;
$_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_fields = get_post_meta( $post_id, '_um_search_fields', true );
$_um_search_filters = get_post_meta( $post_id, '_um_search_filters', true ); ?>
<div class="um-admin-metabox">
<?php
$_um_roles_search_value = get_post_meta( $post_id, '_um_roles_can_search', true );
$_um_roles_search_value = empty( $_um_roles_search_value ) ? array() : $_um_roles_search_value;
$_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_fields = get_post_meta( $post_id, '_um_search_fields', true );
$_um_search_filters = get_post_meta( $post_id, '_um_search_filters', true );
UM()->admin_forms( array(
'class' => 'um-member-directory-search um-half-column',
'prefix_id' => 'um_metadata',
'fields' => array(
array(
'id' => '_um_search',
'type' => 'checkbox',
'label' => __( 'Enable Search feature', 'ultimate-member' ),
'tooltip' => __( 'If turned on, users will be able to search members in this directory', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_search' ),
),
array(
'id' => '_um_roles_can_search',
'type' => 'multi_checkbox',
'label' => __( 'User Roles that can use search', 'ultimate-member' ),
'tooltip' => __( 'If you want to allow specific user roles to be able to search only', 'ultimate-member' ),
'value' => $_um_roles_search_value,
'options' => UM()->roles()->get_roles(),
'columns' => 3,
'conditional' => array( '_um_search', '=', 1 )
),
array(
'id' => '_um_filters',
'type' => 'checkbox',
'label' => __( 'Enable Filters feature', 'ultimate-member' ),
'tooltip' => __( 'If turned on, users will be able to filter members in this directory', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_filters' ),
),
array(
'id' => '_um_roles_can_filter',
'type' => 'multi_checkbox',
'label' => __( 'User Roles that can use filters', 'ultimate-member' ),
'tooltip' => __( 'If you want to allow specific user roles to be able to filter only', 'ultimate-member' ),
'value' => $_um_roles_filter_value,
'options' => UM()->roles()->get_roles(),
'columns' => 3,
'conditional' => array( '_um_filters', '=', 1 )
),
array(
'id' => '_um_search_fields',
'type' => 'multi_selects',
'label' => __( 'Choose filter(s) meta to enable', 'ultimate-member' ),
'value' => $_um_search_fields,
'conditional' => array( '_um_filters', '=', 1 ),
'options' => UM()->member_directory()->filter_fields,
'add_text' => __( 'Add New Custom Field', 'ultimate-member' ),
'show_default_number' => 1,
'sorting' => true,
),
array(
'id' => '_um_filters_expanded',
'type' => 'checkbox',
'label' => __( 'Expand the filter bar by default', 'ultimate-member' ),
'tooltip' => __( 'If turned on, filters bar will be visible after a page loading', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_filters_expanded' ),
'conditional' => array( '_um_filters', '=', 1 )
),
array(
'id' => '_um_filters_is_collapsible',
'type' => 'checkbox',
'label' => __( 'Can filter bar be collapsed', 'ultimate-member' ),
'tooltip' => __( 'If turned on, filters bar can be collapsed after a page loading', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_filters_is_collapsible' ),
'conditional' => array( '_um_filters_expanded', '=', 1 )
),
array(
'id' => '_um_search_filters',
'type' => 'md_default_filters',
'label' => __( 'Admin filtering', 'ultimate-member' ),
'tooltip' => __( 'Limit which users appear in the member directory e.g only display users from USA', 'ultimate-member' ),
'value' => $_um_search_filters,
'options' => UM()->member_directory()->filter_fields,
'add_text' => __( 'Add New Filter', 'ultimate-member' ),
'show_default_number' => 0,
UM()->admin_forms(
array(
'class' => 'um-member-directory-search um-half-column',
'prefix_id' => 'um_metadata',
'fields' => array(
array(
'id' => '_um_search',
'type' => 'checkbox',
'label' => __( 'Enable Search feature', 'ultimate-member' ),
'tooltip' => __( 'If turned on, users will be able to search members in this directory', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_search' ),
),
array(
'id' => '_um_roles_can_search',
'type' => 'multi_checkbox',
'label' => __( 'User Roles that can use search', 'ultimate-member' ),
'tooltip' => __( 'If you want to allow specific user roles to be able to search only', 'ultimate-member' ),
'value' => $_um_roles_search_value,
'options' => UM()->roles()->get_roles(),
'columns' => 3,
'conditional' => array( '_um_search', '=', 1 ),
),
array(
'id' => '_um_filters',
'type' => 'checkbox',
'label' => __( 'Enable Filters feature', 'ultimate-member' ),
'tooltip' => __( 'If turned on, users will be able to filter members in this directory', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_filters' ),
),
array(
'id' => '_um_roles_can_filter',
'type' => 'multi_checkbox',
'label' => __( 'User Roles that can use filters', 'ultimate-member' ),
'tooltip' => __( 'If you want to allow specific user roles to be able to filter only', 'ultimate-member' ),
'value' => $_um_roles_filter_value,
'options' => UM()->roles()->get_roles(),
'columns' => 3,
'conditional' => array( '_um_filters', '=', 1 ),
),
array(
'id' => '_um_search_fields',
'type' => 'multi_selects',
'label' => __( 'Choose filter(s) meta to enable', 'ultimate-member' ),
'value' => $_um_search_fields,
'conditional' => array( '_um_filters', '=', 1 ),
'options' => UM()->member_directory()->filter_fields,
'add_text' => __( 'Add New Custom Field', 'ultimate-member' ),
'show_default_number' => 1,
'sorting' => true,
),
array(
'id' => '_um_filters_expanded',
'type' => 'checkbox',
'label' => __( 'Expand the filter bar by default', 'ultimate-member' ),
'tooltip' => __( 'If turned on, filters bar will be visible after a page loading', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_filters_expanded' ),
'conditional' => array( '_um_filters', '=', 1 ),
),
array(
'id' => '_um_filters_is_collapsible',
'type' => 'checkbox',
'label' => __( 'Can filter bar be collapsed', 'ultimate-member' ),
'tooltip' => __( 'If turned on, filters bar can be collapsed after a page loading', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_filters_is_collapsible' ),
'conditional' => array( '_um_filters_expanded', '=', 1 ),
),
array(
'id' => '_um_search_filters',
'type' => 'md_default_filters',
'label' => __( 'Admin filtering', 'ultimate-member' ),
'tooltip' => __( 'Limit which users appear in the member directory e.g only display users from USA', 'ultimate-member' ),
'value' => $_um_search_filters,
'options' => UM()->member_directory()->filter_fields,
'add_text' => __( 'Add New Filter', 'ultimate-member' ),
'show_default_number' => 0,
),
),
)
) )->render_form(); ?>
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>
@@ -1,4 +1,6 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
} ?>
<div class="um-admin-metabox">
@@ -24,4 +26,4 @@
<p><?php echo UM()->shortcodes()->get_shortcode( get_the_ID() ); ?></p>
<!-- <p>--><?php //echo UM()->shortcodes()->get_default_shortcode( get_the_ID() ); ?><!--</p>-->
</div>
</div>
+56 -53
View File
@@ -1,62 +1,65 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit;
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
global $post_id;
$_um_sorting_fields = get_post_meta( $post_id, '_um_sorting_fields', true );
$_um_sorting_fields = empty( $_um_sorting_fields ) ? array() : $_um_sorting_fields; ?>
$_um_sorting_fields = empty( $_um_sorting_fields ) ? array() : $_um_sorting_fields;
$fields = array(
array(
'id' => '_um_sortby',
'type' => 'select',
'label' => __( 'Default sort users by', 'ultimate-member' ),
'tooltip' => __( 'Default sorting users by a specific parameter in the directory', 'ultimate-member' ),
'options' => UM()->member_directory()->default_sorting,
'value' => UM()->query()->get_meta_value( '_um_sortby' ),
),
array(
'id' => '_um_sortby_custom',
'type' => 'text',
'label' => __( 'Meta key', 'ultimate-member' ),
'tooltip' => __( 'To sort by a custom field, enter the meta key of field here', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_sortby_custom', null, 'na' ),
'conditional' => array( '_um_sortby', '=', 'other' ),
),
array(
'id' => '_um_sortby_custom_label',
'type' => 'text',
'label' => __( 'Label of custom sort', 'ultimate-member' ),
'tooltip' => __( 'To sort by a custom field, enter the label of sorting here', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_sortby_custom_label', null, 'na' ),
'conditional' => array( '_um_sortby', '=', 'other' ),
),
array(
'id' => '_um_enable_sorting',
'type' => 'checkbox',
'label' => __( 'Enable custom sorting', 'ultimate-member' ),
'tooltip' => __( 'Whether to provide an ability to change the sorting on the directory page', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_enable_sorting' ),
),
array(
'id' => '_um_sorting_fields',
'type' => 'md_sorting_fields',
'label' => __( 'Choose field(s) to enable in sorting', 'ultimate-member' ),
'value' => $_um_sorting_fields,
'options' => array_merge( UM()->member_directory()->sort_fields, array( 'other' => __( 'Other (Custom Field)', 'ultimate-member' ) ) ),
'add_text' => __( 'Add New Field', 'ultimate-member' ),
'show_default_number' => 1,
'conditional' => array( '_um_enable_sorting', '=', 1 ),
),
); ?>
<div class="um-admin-metabox">
<?php $fields = array(
<?php
UM()->admin_forms(
array(
'id' => '_um_sortby',
'type' => 'select',
'label' => __( 'Default sort users by', 'ultimate-member' ),
'tooltip' => __( 'Default sorting users by a specific parameter in the directory', 'ultimate-member' ),
'options' => UM()->member_directory()->default_sorting,
'value' => UM()->query()->get_meta_value( '_um_sortby' ),
),
array(
'id' => '_um_sortby_custom',
'type' => 'text',
'label' => __( 'Meta key', 'ultimate-member' ),
'tooltip' => __( 'To sort by a custom field, enter the meta key of field here', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_sortby_custom', null, 'na' ),
'conditional' => array( '_um_sortby', '=', 'other' )
),
array(
'id' => '_um_sortby_custom_label',
'type' => 'text',
'label' => __( 'Label of custom sort', 'ultimate-member' ),
'tooltip' => __( 'To sort by a custom field, enter the label of sorting here', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_sortby_custom_label', null, 'na' ),
'conditional' => array( '_um_sortby', '=', 'other' )
),
array(
'id' => '_um_enable_sorting',
'type' => 'checkbox',
'label' => __( 'Enable custom sorting', 'ultimate-member' ),
'tooltip' => __( 'Whether to provide an ability to change the sorting on the directory page', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_enable_sorting' ),
),
array(
'id' => '_um_sorting_fields',
'type' => 'md_sorting_fields',
'label' => __( 'Choose field(s) to enable in sorting', 'ultimate-member' ),
'value' => $_um_sorting_fields,
'options' => array_merge( UM()->member_directory()->sort_fields, array( 'other' => __( 'Other (Custom Field)', 'ultimate-member' ) ) ),
'add_text' => __( 'Add New Field', 'ultimate-member' ),
'show_default_number' => 1,
'conditional' => array( '_um_enable_sorting', '=', 1 ),
'class' => 'um-member-directory-sorting um-half-column',
'prefix_id' => 'um_metadata',
'fields' => $fields,
)
);
UM()->admin_forms( array(
'class' => 'um-member-directory-sorting um-half-column',
'prefix_id' => 'um_metadata',
'fields' => $fields
) )->render_form(); ?>
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>