'developer.debug.show_queries', 'category' => 'developer', 'ui_config' => fn() => [ 'tags' => [ __('Developer', 'advanced-settings'), __('Debug', 'advanced-settings'), __('Performance', 'advanced-settings'), ], 'fields' => [ 'enable' => [ 'type' => 'toggle', 'label' => __('Display total number of executed SQL queries and page loading time', 'advanced-settings'), 'descriptionHtml' => __('Only admin users can see this', 'advanced-settings'), ], ], ], 'execution_handler' => function() { add_action('wp_footer', function() { global $wpdb; if (!current_user_can('manage_options')) return; echo '
'. sprintf(__('%s SQL queries have been executed to show this page in %s seconds.', 'advanced-settings'), $wpdb->num_queries, timer_stop()). '
'; }); }, 'priority' => 10, ]); advset_register_feature([ 'id' => 'developer.settings_pages.scripts', 'category' => 'developer', 'experimental' => true, 'ui_config' => fn() => [ 'tags' => [ __('Developer', 'advanced-settings'), __('Frontend', 'advanced-settings'), __('Performance', 'advanced-settings'), ], 'fields' => [ 'enable' => [ 'type' => 'toggle', 'label' => __('Script settings', 'advanced-settings'), 'description' => __('These script settings are currently under review and may be changed or removed in the future.', 'advanced-settings'), ], 'info' => [ 'type' => 'info', 'descriptionHtml' => sprintf(__('Note: You can find the script settings page here.', 'advanced-settings'), admin_url('admin.php?page=advanced-settings-scripts')), 'visible' => ['enable' => true] ], ] ], 'execution_handler' => function() { require_once ADVSET_DIR.'/feature-setup/features/includes/developer.settings_pages.php'; require_once ADVSET_DIR.'/feature-setup/features/includes/developer.settings_pages.scripts--actions-scripts.php'; add_action('admin_menu', function() { add_options_page( __('Scripts', 'advanced-settings'), __('Scripts', 'advanced-settings'), 'manage_options', 'advanced-settings-scripts', function() { include ADVSET_DIR.'/feature-setup/features/includes/developer.settings_pages.scripts--admin-scripts.php'; } ); }); }, 'priority' => 10, ]); advset_register_feature([ 'id' => 'developer.settings_pages.styles', 'category' => 'developer', 'experimental' => true, 'ui_config' => fn() => [ 'tags' => [ __('Developer', 'advanced-settings'), __('Frontend', 'advanced-settings'), __('Performance', 'advanced-settings'), ], 'fields' => [ 'enable' => [ 'type' => 'toggle', 'label' => __('Styles settings', 'advanced-settings'), 'description' => __('These styles settings are currently under review and may be changed or removed in the future.', 'advanced-settings'), ], 'info' => [ 'type' => 'info', 'descriptionHtml' => sprintf(__('Note: You can find the styles settings page here.', 'advanced-settings'), admin_url('admin.php?page=advanced-settings-styles')), 'visible' => ['enable' => true] ], ] ], 'execution_handler' => function() { require_once ADVSET_DIR.'/feature-setup/features/includes/developer.settings_pages.php'; require_once ADVSET_DIR.'/feature-setup/features/includes/developer.settings_pages.styles--actions-styles.php'; add_action('admin_menu', function() { add_options_page( __('Styles', 'advanced-settings'), __('Styles', 'advanced-settings'), 'manage_options', 'advanced-settings-styles', function() { include ADVSET_DIR.'/feature-setup/features/includes/developer.settings_pages.styles--admin-styles.php'; } ); }); }, 'priority' => 10, ]); advset_register_feature([ 'id' => 'developer.settings_pages.hooks', 'category' => 'developer', 'experimental' => true, 'ui_config' => fn() => [ 'tags' => [ __('Developer', 'advanced-settings'), __('Admin', 'advanced-settings'), __('Frontend', 'advanced-settings'), __('Performance', 'advanced-settings'), ], 'fields' => [ 'enable' => [ 'type' => 'toggle', 'label' => __('Filters and actions settings', 'advanced-settings'), 'description' => __('These filters and actions settings are currently under review and may be changed or removed in the future.', 'advanced-settings'), ], 'info' => [ 'type' => 'info', 'descriptionHtml' => sprintf(__('Note: You can find the filters and actions settings page here.', 'advanced-settings'), admin_url('admin.php?page=advanced-settings-filters')), 'visible' => ['enable' => true] ], ], ], 'execution_handler' => function() { require_once ADVSET_DIR.'/feature-setup/features/includes/developer.settings_pages.php'; $remove_filters = get_option( 'advset_remove_filters' ); $is_advset_filter_page = isset($_GET['page']) && $_GET['page'] === 'advanced-settings-filters'; if($is_advset_filter_page === false && is_array($remove_filters) ) { if( isset($remove_filters) && is_array($remove_filters) ) foreach( $remove_filters as $tag=>$array ) if( is_array($array) ) foreach( $array as $function=>$_ ) remove_filter( $tag, $function ); } add_action('admin_menu', function() { add_options_page( __('Filters/Actions', 'advanced-settings'), __('Filters/Actions', 'advanced-settings'), 'manage_options', 'advanced-settings-filters', function() { include ADVSET_DIR.'/feature-setup/features/includes/developer.settings_pages.hooks--admin-filters.php'; } ); }); add_action('wp_ajax_advset_filters', function() { // security if (!current_user_can('manage_options')) { wp_send_json_error('Unauthorized'); return; } if (!isset($_POST['nonce']) || !wp_verify_nonce($_POST['nonce'], 'advset_filters_nonce')) { wp_send_json_error('Invalid nonce'); return; } $remove_filters = (array) get_option('advset_remove_filters'); $tag = (string)$_POST['tag']; $function = (string)$_POST['function']; if ($_POST['enable'] == 'true') { unset($remove_filters[$tag][$function]); } else if ($_POST['enable'] == 'false') { $remove_filters[$tag][$function] = 1; } update_option('advset_remove_filters', $remove_filters); wp_send_json_success(); }); }, 'priority' => 10, ]);