- made hooks documentation;

- some optimizations and make single functions for some hooks;
This commit is contained in:
nikitozzzzzzz
2018-03-02 09:55:49 +02:00
parent 6fc6db7886
commit 3d19aa00b8
64 changed files with 7287 additions and 1790 deletions
+83 -1
View File
@@ -318,7 +318,49 @@ if ( ! class_exists( 'Admin_Builder' ) ) {
'post' => $_POST
);
$array = apply_filters("um_admin_pre_save_fields_hook", $array );
/**
* UM hook
*
* @type filter
* @title um_admin_pre_save_fields_hook
* @description Filter field data before save
* @input_vars
* [{"var":"$array","type":"array","desc":"Save Field data"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_pre_save_fields_hook', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_pre_save_fields_hook', 'my_admin_pre_save_fields', 10, 1 );
* function my_admin_pre_save_fields( $array ) {
* // your code here
* return $array;
* }
* ?>
*/
$array = apply_filters( "um_admin_pre_save_fields_hook", $array );
/**
* UM hook
*
* @type filter
* @title um_admin_field_update_error_handling
* @description Change error string on save field
* @input_vars
* [{"var":"$error","type":"string","desc":"Error String"},
* {"var":"$array","type":"array","desc":"Save Field data"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_field_update_error_handling', 'function_name', 10, 2 );
* @example
* <?php
* add_filter( 'um_admin_field_update_error_handling', 'my_admin_field_update_error', 10, 2 );
* function my_admin_field_update_error( $error, $array ) {
* // your code here
* return $error;
* }
* ?>
*/
$output['error'] = apply_filters( 'um_admin_field_update_error_handling', $output['error'], $array );
extract( $array['post'] );
@@ -347,10 +389,50 @@ if ( ! class_exists( 'Admin_Builder' ) ) {
$field_ID = $_metakey;
$field_args = $save[ $_metakey ];
/**
* UM hook
*
* @type filter
* @title um_admin_pre_save_field_to_form
* @description Change field options before save to form
* @input_vars
* [{"var":"$field_args","type":"array","desc":"Field Options"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_pre_save_field_to_form', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_pre_save_field_to_form', 'my_admin_pre_save_field_to_form', 10, 1 );
* function my_admin_pre_save_field_to_form( $field_args ) {
* // your code here
* return $field_args;
* }
* ?>
*/
$field_args = apply_filters("um_admin_pre_save_field_to_form", $field_args );
UM()->fields()->update_field( $field_ID, $field_args, $post_id );
/**
* UM hook
*
* @type filter
* @title um_admin_pre_save_field_to_db
* @description Change field options before save to DB
* @input_vars
* [{"var":"$field_args","type":"array","desc":"Field Options"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_pre_save_field_to_db', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_pre_save_field_to_db', 'my_admin_pre_save_field_to_db', 10, 1 );
* function my_admin_pre_save_field_to_form( $field_args ) {
* // your code here
* return $field_args;
* }
* ?>
*/
$field_args = apply_filters("um_admin_pre_save_field_to_db", $field_args );
if ( ! isset( $array['args']['form_only'] ) ) {
+1 -1
View File
@@ -131,7 +131,7 @@ if ( ! class_exists( 'Admin_Columns' ) ) {
public function add_display_post_states( $post_states, $post ) {
foreach ( UM()->config()->core_pages as $page_key => $page_value ) {
$page_id = UM()->options()->get( apply_filters( 'um_core_page_id_filter', 'core_' . $page_key ) );
$page_id = UM()->options()->get( UM()->options()->get_core_page_id( $page_key ) );
if ( $page_id == $post->ID ) {
$post_states['um_core_page_' . $page_key] = sprintf( 'UM %s', $page_value['title'] );
@@ -348,6 +348,26 @@ if ( ! class_exists( 'Admin_Enqueue' ) ) {
*/
function load_localize_scripts(){
/**
* UM hook
*
* @type filter
* @title um_admin_enqueue_localize_data
* @description Extend localize data at wp-admin side
* @input_vars
* [{"var":"$localize_data","type":"array","desc":"Localize Data"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_enqueue_localize_data', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_enqueue_localize_data', 'my_admin_enqueue_localize_data', 10, 1 );
* function my_admin_enqueue_localize_data( $localize_data ) {
* // your code here
* return $localize_data;
* }
* ?>
*/
$localize_data = apply_filters('um_admin_enqueue_localize_data', array(
'ajaxurl' => admin_url( 'admin-ajax.php' )
)
+34 -7
View File
@@ -106,7 +106,7 @@ if ( ! class_exists( 'Admin_Forms' ) ) {
} else {
$html .= apply_filters( 'um_render_field_type_' . $data['type'], '', $data, $this->form_data );
$html .= $this->render_field_by_hook( $data );
}
@@ -127,7 +127,7 @@ if ( ! class_exists( 'Admin_Forms' ) ) {
} else {
$html .= apply_filters( 'um_render_field_type_' . $data['type'], '', $data, $this->form_data );
$html .= $this->render_field_by_hook( $data );
}
@@ -146,7 +146,7 @@ if ( ! class_exists( 'Admin_Forms' ) ) {
} else {
$html .= apply_filters( 'um_render_field_type_' . $data['type'], '', $data, $this->form_data );
$html .= $this->render_field_by_hook( $data );
}
@@ -170,7 +170,7 @@ if ( ! class_exists( 'Admin_Forms' ) ) {
} else {
$html .= apply_filters( 'um_render_field_type_' . $data['type'], '', $data, $this->form_data );
$html .= $this->render_field_by_hook( $data );
}
@@ -192,7 +192,7 @@ if ( ! class_exists( 'Admin_Forms' ) ) {
} else {
$html .= apply_filters( 'um_render_field_type_' . $data['type'], '', $data, $this->form_data );
$html .= $this->render_field_by_hook( $data );
}
@@ -213,7 +213,7 @@ if ( ! class_exists( 'Admin_Forms' ) ) {
} else {
$html .= apply_filters( 'um_render_field_type_' . $data['type'], '', $data, $this->form_data );
$html .= $this->render_field_by_hook( $data );
}
@@ -233,7 +233,7 @@ if ( ! class_exists( 'Admin_Forms' ) ) {
} else {
$html .= apply_filters( 'um_render_field_type_' . $data['type'], '', $data, $this->form_data );
$html .= $this->render_field_by_hook( $data );
}
}
@@ -242,6 +242,33 @@ if ( ! class_exists( 'Admin_Forms' ) ) {
}
function render_field_by_hook( $data ) {
/**
* UM hook
*
* @type filter
* @title um_render_field_type_{$type}
* @description Render admin form field by hook
* @input_vars
* [{"var":"$html","type":"string","desc":"Field's HTML"},
* {"var":"$data","type":"array","desc":"Field's data"},
* {"var":"$form_data","type":"array","desc":"Form data"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_render_field_type_{$type}', 'function_name', 10, 3 );
* @example
* <?php
* add_filter( 'um_render_field_type_{$type}', 'my_render_field_type', 10, 3 );
* function my_render_field_type( $html, $data, $form_data ) {
* // your code here
* return $html;
* }
* ?>
*/
return apply_filters( 'um_render_field_type_' . $data['type'], '', $data, $this->form_data );
}
function render_field_label( $data ) {
if ( empty( $data['label'] ) )
return false;
+132 -3
View File
@@ -85,6 +85,26 @@ if ( ! class_exists( 'Admin_Metabox' ) ) {
$post_types = UM()->options()->get( 'restricted_access_post_metabox' );
if ( ! empty( $post_types[ $current_screen->id ] ) ) {
/**
* UM hook
*
* @type filter
* @title um_restrict_content_hide_metabox
* @description Show/Hide Restrict content metabox
* @input_vars
* [{"var":"$show","type":"bool","desc":"Show Metabox"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_restrict_content_hide_metabox', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_restrict_content_hide_metabox', 'my_restrict_content_hide_metabox', 10, 1 );
* function my_restrict_content_hide_metabox( $show ) {
* // your code here
* return $show;
* }
* ?>
*/
$hide_metabox = apply_filters( 'um_restrict_content_hide_metabox', false );
if ( ! $hide_metabox ) {
@@ -195,6 +215,35 @@ if ( ! class_exists( 'Admin_Metabox' ) ) {
function um_category_access_fields_create() {
$data = array();
/**
* UM hook
*
* @type filter
* @title um_admin_category_access_settings_fields
* @description Settings fields for terms
* @input_vars
* [{"var":"$access_settings_fields","type":"array","desc":"Settings Fields"},
* {"var":"$data","type":"array","desc":"Settings Data"},
* {"var":"$screen","type":"string","desc":"Category Screen"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_category_access_settings_fields', 'function_name', 10, 3 );
* @example
* <?php
* add_filter( 'um_admin_category_access_settings_fields', 'my_admin_category_access_settings_fields', 10, 3 );
* function my_admin_category_access_settings_fields( $access_settings_fields, $data, $screen ) {
* // your code here
* $access_settings_fields[] = array(
* 'id' => 'my-field-key',
* 'type' => 'my-field-type',
* 'label' => __( 'My field Label', 'ultimate-member' ),
* 'description' => __( 'My Field Description', 'ultimate-member' ),
* 'value' => ! empty( $data['_um_custom_access_settings'] ) ? $data['_um_custom_access_settings'] : 0,
* );
* return $access_settings_fields;
* }
* ?>
*/
$fields = apply_filters( 'um_admin_category_access_settings_fields', array(
array(
'id' => '_um_custom_access_settings',
@@ -312,7 +361,35 @@ if ( ! class_exists( 'Admin_Metabox' ) ) {
}
}
/**
* UM hook
*
* @type filter
* @title um_admin_category_access_settings_fields
* @description Settings fields for terms
* @input_vars
* [{"var":"$access_settings_fields","type":"array","desc":"Settings Fields"},
* {"var":"$data","type":"array","desc":"Settings Data"},
* {"var":"$screen","type":"string","desc":"Category Screen"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_category_access_settings_fields', 'function_name', 10, 3 );
* @example
* <?php
* add_filter( 'um_admin_category_access_settings_fields', 'my_admin_category_access_settings_fields', 10, 3 );
* function my_admin_category_access_settings_fields( $access_settings_fields, $data, $screen ) {
* // your code here
* $access_settings_fields[] = array(
* 'id' => 'my-field-key',
* 'type' => 'my-field-type',
* 'label' => __( 'My field Label', 'ultimate-member' ),
* 'description' => __( 'My Field Description', 'ultimate-member' ),
* 'value' => ! empty( $data['_um_custom_access_settings'] ) ? $data['_um_custom_access_settings'] : 0,
* );
* return $access_settings_fields;
* }
* ?>
*/
$fields = apply_filters( 'um_admin_category_access_settings_fields', array(
array(
'id' => '_um_custom_access_settings',
@@ -649,6 +726,35 @@ if ( ! class_exists( 'Admin_Metabox' ) ) {
)
) );
/**
* UM hook
*
* @type filter
* @title um_admin_role_metaboxes
* @description Extend metaboxes at Add/Edit User Role
* @input_vars
* [{"var":"$roles_metaboxes","type":"array","desc":"Metaboxes at Add/Edit UM Role"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_role_metaboxes', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_role_metaboxes', 'my_admin_role_metaboxes', 10, 1 );
* function my_admin_role_metaboxes( $roles_metaboxes ) {
* // your code here
* $roles_metaboxes[] = array(
* 'id' => 'um-admin-form-your-custom',
* 'title' => __( 'My Roles Metabox', 'ultimate-member' ),
* 'callback' => 'my-metabox-callback',
* 'screen' => 'um_role_meta',
* 'context' => 'side',
* 'priority' => 'default'
* );
*
* return $roles_metaboxes;
* }
* ?>
*/
$roles_metaboxes = apply_filters( 'um_admin_role_metaboxes', $roles_metaboxes );
$wp_caps_metabox = false;
@@ -959,8 +1065,31 @@ if ( ! class_exists( 'Admin_Metabox' ) ) {
<?php foreach( UM()->builtin()->validation_types() as $key => $name ) { ?>
<?php
$continue = apply_filters("um_builtin_validation_types_continue_loop", true, $key, $form_id, $field_args );
if( $continue ){ ?>
/**
* UM hook
*
* @type filter
* @title um_builtin_validation_types_continue_loop
* @description Builtin Validation Types
* @input_vars
* [{"var":"$continue","type":"bool","desc":"Validate?"},
* {"var":"$key","type":"string","desc":"Field Key"},
* {"var":"$form_id","type":"int","desc":"Form ID"},
* {"var":"$field_args","type":"array","desc":"Field Settings"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_builtin_validation_types_continue_loop', 'function_name', 10, 4 );
* @example
* <?php
* add_filter( 'um_builtin_validation_types_continue_loop', 'my_builtin_validation_types', 10, 4 );
* function my_builtin_validation_types( $continue, $key, $form_id, $field_args ) {
* // your code here
* return $continue;
* }
* ?>
*/
$continue = apply_filters( "um_builtin_validation_types_continue_loop", true, $key, $form_id, $field_args );
if ( $continue ) { ?>
<option value="<?php echo $key; ?>" <?php selected( $key, $this->edit_mode_value ); ?>><?php echo $name; ?></option>
<?php } ?>
<?php } ?>
+135 -4
View File
@@ -73,7 +73,7 @@ if ( ! class_exists( 'Admin_Settings' ) ) {
foreach ( $core_pages as $page_s => $page ) {
$have_pages = UM()->query()->wp_pages();
$page_id = apply_filters( 'um_core_page_id_filter', 'core_' . $page_s );
$page_id = UM()->options()->get_core_page_id( $page_s );
$page_title = ! empty( $page['title'] ) ? $page['title'] : '';
@@ -188,6 +188,26 @@ if ( ! class_exists( 'Admin_Settings' ) ) {
}
}
/**
* UM hook
*
* @type filter
* @title um_settings_structure
* @description Extend UM Settings
* @input_vars
* [{"var":"$settings","type":"array","desc":"UM Settings"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_settings_structure', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_settings_structure', 'my_settings_structure', 10, 1 );
* function my_settings_structure( $settings ) {
* // your code here
* return $settings;
* }
* ?>
*/
$this->settings_structure = apply_filters( 'um_settings_structure', array(
'' => array(
'title' => __( 'General', 'ultimate-member' ),
@@ -1101,7 +1121,7 @@ if ( ! class_exists( 'Admin_Settings' ) ) {
um_js_redirect( add_query_arg( array( 'page' => 'um_options', 'tab' => $current_tab ), admin_url( 'admin.php' ) ) );
}
echo '<div id="um-settings-wrap" class="wrap"><h2>Ultimate Member - Settings</h2>';
echo '<div id="um-settings-wrap" class="wrap"><h2>' . __( 'Ultimate Member - Settings', 'ultimate-member' ) . '</h2>';
echo $this->generate_tabs_menu() . $this->generate_subtabs_menu( $current_tab );
@@ -1111,7 +1131,32 @@ if ( ! class_exists( 'Admin_Settings' ) ) {
do_action( "um_settings_page_" . $current_tab . "_" . $current_subtab . "_before_section" );
$section_fields = $this->get_section_fields( $current_tab, $current_subtab );
echo apply_filters( 'um_settings_section_' . $current_tab . '_' . $current_subtab . '_content', $this->render_settings_section( $section_fields, $current_tab, $current_subtab ), $section_fields );
/**
* UM hook
*
* @type filter
* @title um_settings_section_{$current_tab}_{$current_subtab}_content
* @description Render settings section
* @input_vars
* [{"var":"$content","type":"string","desc":"Section content"},
* {"var":"$section_fields","type":"array","desc":"Section Fields"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_settings_section_{$current_tab}_{$current_subtab}_content', 'function_name', 10, 2 );
* @example
* <?php
* add_filter( 'um_settings_section_{$current_tab}_{$current_subtab}_content', 'my_settings_section', 10, 2 );
* function my_settings_section( $content ) {
* // your code here
* return $content;
* }
* ?>
*/
echo apply_filters( 'um_settings_section_' . $current_tab . '_' . $current_subtab . '_content',
$this->render_settings_section( $section_fields, $current_tab, $current_subtab ),
$section_fields
);
} else { ?>
@@ -1129,7 +1174,32 @@ if ( ! class_exists( 'Admin_Settings' ) ) {
<?php do_action( "um_settings_page_" . $current_tab . "_" . $current_subtab . "_before_section" );
$section_fields = $this->get_section_fields( $current_tab, $current_subtab );
echo apply_filters( 'um_settings_section_' . $current_tab . '_' . $current_subtab . '_content', $this->render_settings_section( $section_fields, $current_tab, $current_subtab ), $section_fields );
/**
* UM hook
*
* @type filter
* @title um_settings_section_{$current_tab}_{$current_subtab}_content
* @description Render settings section
* @input_vars
* [{"var":"$content","type":"string","desc":"Section content"},
* {"var":"$section_fields","type":"array","desc":"Section Fields"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_settings_section_{$current_tab}_{$current_subtab}_content', 'function_name', 10, 2 );
* @example
* <?php
* add_filter( 'um_settings_section_{$current_tab}_{$current_subtab}_content', 'my_settings_section', 10, 2 );
* function my_settings_section( $content ) {
* // your code here
* return $content;
* }
* ?>
*/
echo apply_filters( 'um_settings_section_' . $current_tab . '_' . $current_subtab . '_content',
$this->render_settings_section( $section_fields, $current_tab, $current_subtab ),
$section_fields
);
?>
<p class="submit">
@@ -1180,6 +1250,26 @@ if ( ! class_exists( 'Admin_Settings' ) ) {
break;
default:
/**
* UM hook
*
* @type filter
* @title um_generate_tabs_menu_{$page}
* @description Generate tabs menu
* @input_vars
* [{"var":"$tabs","type":"array","desc":"UM menu tabs"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_generate_tabs_menu_{$page}', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_generate_tabs_menu_{$page}', 'my_tabs_menu', 10, 1 );
* function my_tabs_menu( $tabs ) {
* // your code here
* return $tabs;
* }
* ?>
*/
$tabs = apply_filters( 'um_generate_tabs_menu_' . $page, $tabs );
break;
}
@@ -1222,6 +1312,26 @@ if ( ! class_exists( 'Admin_Settings' ) ) {
if ( isset( $_POST['um-settings-action'] ) && 'save' == $_POST['um-settings-action'] && ! empty( $_POST['um_options'] ) ) {
do_action( "um_settings_before_save" );
/**
* UM hook
*
* @type filter
* @title um_change_settings_before_save
* @description Change settings before save
* @input_vars
* [{"var":"$settings","type":"array","desc":"UM Settings on save"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_change_settings_before_save', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_change_settings_before_save', 'my_change_settings_before_save', 10, 1 );
* function my_change_settings_before_save( $settings ) {
* // your code here
* return $settings;
* }
* ?>
*/
$settings = apply_filters( 'um_change_settings_before_save', $_POST['um_options'] );
foreach ( $settings as $key => $value ) {
@@ -1473,6 +1583,27 @@ if ( ! class_exists( 'Admin_Settings' ) ) {
$in_theme = UM()->mail()->template_in_theme( $email_key );
/**
* UM hook
*
* @type filter
* @title um_admin_settings_email_section_fields
* @description Extend UM Email Settings
* @input_vars
* [{"var":"$settings","type":"array","desc":"UM Email Settings"},
* {"var":"$email_key","type":"string","desc":"Email Key"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_settings_email_section_fields', 'function_name', 10, 2 );
* @example
* <?php
* add_filter( 'um_admin_settings_email_section_fields', 'my_admin_settings_email_section', 10, 2 );
* function my_admin_settings_email_section( $settings, $email_key ) {
* // your code here
* return $settings;
* }
* ?>
*/
$section_fields = apply_filters( 'um_admin_settings_email_section_fields', array(
array(
'id' => 'um_email_template',
+64
View File
@@ -56,6 +56,29 @@ if ( ! class_exists( 'Admin_Users' ) ) {
*/
function get_bulk_admin_actions() {
/**
* UM hook
*
* @type filter
* @title um_admin_bulk_user_actions_hook
* @description Admin Users List Table bulk actions
* @input_vars
* [{"var":"$actions","type":"array","desc":"User List Table bulk actions"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_bulk_user_actions_hook', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_bulk_user_actions_hook', 'my_admin_bulk_user_actions', 10, 1 );
* function my_admin_bulk_user_actions( $actions ) {
* // your code here
* $actions['my-custom-bulk'] = array(
* 'label' => 'My Custom Bulk Action'
* );
* return $actions;
* }
* ?>
*/
$actions = apply_filters( 'um_admin_bulk_user_actions_hook', array(
'um_approve_membership' => array(
'label' => __( 'Approve Membership', 'ultimate-member' )
@@ -101,6 +124,27 @@ if ( ! class_exists( 'Admin_Users' ) ) {
if ( ! empty( $submitted ) )
$actions['view_info'] = '<a href="#" data-modal="UM_preview_registration" data-modal-size="smaller" data-dynamic-content="um_admin_review_registration" data-arg1="' . $user_id . '" data-arg2="edit_registration">' . __( 'Info', 'ultimate-member' ) . '</a>';
/**
* UM hook
*
* @type filter
* @title um_admin_user_row_actions
* @description Admin views array
* @input_vars
* [{"var":"$actions","type":"array","desc":"User List Table actions"},
* {"var":"$user_id","type":"int","desc":"User ID"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_user_row_actions', 'function_name', 10, 2 );
* @example
* <?php
* add_filter( 'um_admin_user_row_actions', 'my_admin_user_row_actions', 10, 2 );
* function my_admin_user_row_actions( $actions, $user_id ) {
* // your code here
* return $actions;
* }
* ?>
*/
$actions = apply_filters( 'um_admin_user_row_actions', $actions, $user_id );
return $actions;
@@ -202,6 +246,26 @@ if ( ! class_exists( 'Admin_Users' ) ) {
$views[$k] = '<a href="' . admin_url( 'users.php' ) . '?status=' . $k . '" ' . $current . '>'. $v . ' <span class="count">('.UM()->query()->count_users_by_status( $k ).')</span></a>';
}
/**
* UM hook
*
* @type filter
* @title um_admin_views_users
* @description Admin views array
* @input_vars
* [{"var":"$views","type":"array","desc":"User Views"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_views_users', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_views_users', 'my_admin_views_users', 10, 1 );
* function my_admin_views_users( $views ) {
* // your code here
* return $views;
* }
* ?>
*/
$views = apply_filters( 'um_admin_views_users', $views );
// remove all filters
@@ -172,6 +172,27 @@ $ListTable = new UM_Emails_List_Table( array(
$per_page = 20;
$paged = $ListTable->get_pagenum();
/**
* UM hook
*
* @type filter
* @title um_email_templates_columns
* @description Email Notifications List Table columns
* @input_vars
* [{"var":"$columns","type":"array","desc":"Columns"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_email_templates_columns', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_email_templates_columns', 'my_email_templates_columns', 10, 1 );
* function my_email_templates_columns( $columns ) {
* // your code here
* $columns['my-custom-column'] = 'My Custom Column';
* return $columns;
* }
* ?>
*/
$columns = apply_filters( 'um_email_templates_columns', array(
'email' => __( 'Email', 'ultimate-member' ),
'recipients' => __( 'Recipient(s)', 'ultimate-member' ),
@@ -41,11 +41,36 @@ if ( ! defined( 'ABSPATH' ) ) exit;
*** @Some fields may require extra fields before saving
***/
add_filter('um_admin_pre_save_fields_hook', 'um_admin_pre_save_fields_hook', 1 );
function um_admin_pre_save_fields_hook( $array ){
function um_admin_pre_save_fields_hook( $array ) {
extract( $array );
$fields_without_metakey = array('block','shortcode','spacing','divider','group');
$fields_without_metakey = apply_filters('um_fields_without_metakey', $fields_without_metakey );
/**
* UM hook
*
* @type filter
* @title um_fields_without_metakey
* @description Field Types without meta key
* @input_vars
* [{"var":"$types","type":"array","desc":"Field Types"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_fields_without_metakey', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_fields_without_metakey', 'my_fields_without_metakey', 10, 1 );
* function my_fields_without_metakey( $types ) {
* // your code here
* return $types;
* }
* ?>
*/
$fields_without_metakey = apply_filters( 'um_fields_without_metakey', array(
'block',
'shortcode',
'spacing',
'divider',
'group'
) );
$fields = UM()->query()->get_attr('custom_fields', $form_id);
$count = 1;
@@ -18,6 +18,27 @@ if ( ! defined( 'ABSPATH' ) ) exit;
}
}
/**
* UM hook
*
* @type filter
* @title um_admin_access_settings_fields
* @description Extend Admin Access Settings Fields
* @input_vars
* [{"var":"$fields","type":"array","desc":"Access Settings Fields"},
* {"var":"$data","type":"array","desc":"Form Data"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_access_settings_fields', 'function_name', 10, 2 );
* @example
* <?php
* add_filter( 'um_admin_access_settings_fields', 'my_admin_access_settings_fields', 10, 2 );
* function my_admin_access_settings_fields( $fields, $data ) {
* // your code here
* return $fields;
* }
* ?>
*/
$fields = apply_filters( 'um_admin_access_settings_fields', array(
array(
'id' => '_um_custom_access_settings',
+54 -11
View File
@@ -21,7 +21,39 @@ if ( $show_these_users ) {
<div class="um-admin-metabox">
<?php $fields = array(
<?php
/**
* UM hook
*
* @type filter
* @title um_admin_directory_sort_users_select
* @description Extend Sort Types for Member Directory
* @input_vars
* [{"var":"$sort_types","type":"array","desc":"Sort Types"}]
* @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;
* }
* ?>
*/
$sort_options = apply_filters( 'um_admin_directory_sort_users_select', array(
'user_registered_desc' => __( 'New users first', 'ultimate-member' ),
'user_registered_asc' => __( 'Old users first', 'ultimate-member' ),
'last_login' => __( 'Last login', 'ultimate-member' ),
'display_name' => __( 'Display Name', 'ultimate-member' ),
'first_name' => __( 'First Name', 'ultimate-member' ),
'last_name' => __( 'Last Name', 'ultimate-member' ),
'random' => __( 'Random', 'ultimate-member' ),
'other' => __( 'Other (custom field)', 'ultimate-member' ),
) );
$fields = array(
array(
'id' => '_um_mode',
'type' => 'hidden',
@@ -54,16 +86,7 @@ if ( $show_these_users ) {
'type' => 'select',
'label' => __( 'Sort users by', 'ultimate-member' ),
'tooltip' => __( 'Sort users by a specific parameter in the directory', 'ultimate-member' ),
'options' => apply_filters( 'um_admin_directory_sort_users_select', array(
'user_registered_desc' => __( 'New users first', 'ultimate-member' ),
'user_registered_asc' => __( 'Old users first', 'ultimate-member' ),
'last_login' => __( 'Last login', 'ultimate-member' ),
'display_name' => __( 'Display Name', 'ultimate-member' ),
'first_name' => __( 'First Name', 'ultimate-member' ),
'last_name' => __( 'Last Name', 'ultimate-member' ),
'random' => __( 'Random', 'ultimate-member' ),
'other' => __( 'Other (custom field)', 'ultimate-member' ),
) ),
'options' => $sort_options,
'value' => UM()->query()->get_meta_value( '_um_sortby' ),
),
array(
@@ -82,6 +105,26 @@ if ( $show_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(
@@ -7,6 +7,27 @@
$can_search_array[] = $_um_roles_can_search;
}
/**
* UM hook
*
* @type filter
* @title um_admin_custom_search_filters
* @description Custom Search Filters
* @input_vars
* [{"var":"$custom_search","type":"array","desc":"Filters"}]
* @change_log
* ["Since: 2.0"]
* @usage
* <?php add_filter( 'um_admin_custom_search_filters', 'function_name', 10, 1 ); ?>
* @example
* <?php
* add_filter( 'um_admin_custom_search_filters', 'my_admin_custom_search_filters', 10, 1 );
* function my_upload_file_name( $custom_search ) {
* // your code here
* return $custom_search;
* }
* ?>
*/
$custom_search = apply_filters( 'um_admin_custom_search_filters', array() );
$searchable_fields = UM()->builtin()->all_user_fields('date,time,url');
$searchable_fields = $searchable_fields + $custom_search;