true, 'result_count' => 16, 'query_highlight' => false, 'show_when_viewing_site' => false, 'post_types' => array( 'post', 'page', 'attachment' ), 'taxonomies' => array( ), 'include_admin_pages' => false, 'include_comments' => false, 'include_users' => false, 'external_websites' => '' ); $settings = array(); if ( get_option( 'admin_search_settings' ) !== null ) { $settings = get_option( 'admin_search_settings' ); } foreach ( $default_settings as $default_setting_name => $default_setting_value ) { if ( ! isset( $settings[ $default_setting_name ] ) ) { $settings[ $default_setting_name ] = $default_setting_value; } } if ( isset( $settings[ $name ] ) ) { return $settings[ $name ]; } return null; } /* * Add plugin settings fields */ function admin_search_settings_init() { register_setting( 'admin_search', 'admin_search_settings', array( 'sanitize_callback' => 'admin_search_sanitize_setting_values' ) ); // General settings add_settings_section( 'admin_search_section_general', __( 'General', 'admin-search' ), '', 'admin-search' ); add_settings_field( 'display_on_keypress', __( 'Display on Keypress', 'admin-search' ), 'admin_search_setting_display_on_keypress', 'admin-search', 'admin_search_section_general' ); add_settings_field( 'result_count', __( 'Result Count', 'admin-search' ), 'admin_search_setting_result_count', 'admin-search', 'admin_search_section_general' ); add_settings_field( 'highlight_query', __( 'Query Highlighting', 'admin-search' ), 'admin_search_setting_highlight_query', 'admin-search', 'admin_search_section_general' ); add_settings_field( 'show_when_viewing_site', __( 'Show on Site', 'admin-search' ), 'admin_search_setting_show_when_viewing_site', 'admin-search', 'admin_search_section_general' ); // Source settings add_settings_section( 'admin_search_section_sources', __( 'Sources', 'admin-search' ), 'admin_search_section_sources_text', 'admin-search' ); add_settings_field( 'post_types', __( 'Post Types', 'admin-search' ), 'admin_search_setting_post_types', 'admin-search', 'admin_search_section_sources' ); add_settings_field( 'taxonomies', __( 'Taxonomies', 'admin-search' ), 'admin_search_setting_taxonomies', 'admin-search', 'admin_search_section_sources' ); add_settings_field( 'include_admin_pages', __( 'Admin Pages', 'admin-search' ), 'admin_search_setting_include_admin_pages', 'admin-search', 'admin_search_section_sources' ); add_settings_field( 'include_comments', __( 'Comments', 'admin-search' ), 'admin_search_setting_include_comments', 'admin-search', 'admin_search_section_sources' ); add_settings_field( 'include_users', __( 'Users', 'admin-search' ), 'admin_search_setting_include_users', 'admin-search', 'admin_search_section_sources' ); add_settings_field( 'external_websites', __( 'External Websites', 'admin-search' ), 'admin_search_setting_external_websites', 'admin-search', 'admin_search_section_sources' ); } add_action( 'admin_init', 'admin_search_settings_init' ); /* * Add plugin settings link to plugin item on Plugins page */ function admin_search_settings_page_link( $links ) { $links[] = '' . __( 'Settings', 'admin-search' ) . ''; return $links; } add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), 'admin_search_settings_page_link' ); /* * Render plugin settings page */ function admin_search_render_plugin_settings_page() { ?>
" . __( 'If enabled, the admin search will display instantly on keypress, it will not be displayed if an input field is in focus. The admin search can still be opened anytime by clicking the search icon in the admin bar or by pressing Ctrl + S or Command + S.', 'admin-search' ) . "