plugin_path = plugin_dir_path(__FILE__); $this->plugin_url = plugin_dir_url(__FILE__); load_plugin_textdomain($this->text_domain, false, $this->plugin_path . '\lang'); add_action('admin_enqueue_scripts', array($this, 'register_scripts')); add_action('admin_enqueue_scripts', array($this, 'register_styles')); add_action('wp_enqueue_scripts', array($this, 'register_scripts')); add_action('wp_enqueue_scripts', array($this, 'register_styles')); register_activation_hook(__FILE__, array($this, 'activation')); register_deactivation_hook(__FILE__, array($this, 'deactivation')); $this->run_plugin(); } public function get_plugin_url() { return $this->plugin_url; } public function get_plugin_path() { return $this->plugin_path; } public function activation() { } public function deactivation() { } public function register_scripts() { } public function register_styles() { } private function run_plugin() { // action hooks add_action('admin_menu', 'abbs_bing_search_register_admin_page'); add_action('pre_get_posts', 'abbs_bing_search_check_if_search'); add_action('admin_init', 'abbs_bing_search_register_settings'); add_action('admin_notices', 'abbs_bing_search_notify_user'); function abbs_bing_search_register_admin_page() { add_submenu_page( "options-general.php", "Bing Search", "Bing Search", "manage_options", "abbs_bing_search_options", "abbs_bing_search_submenu_callback" ); } function abbs_bing_search_register_settings() { register_setting("abbs_bing_search_options", "abbs_bing_api_key", array( 'type' => 'string', 'description' => __('The API Key provided by Bing to use the search functionality', 'abbs_ab-bing-search'), 'sanitize_callback' => null, 'show_in_rest' => false, )); register_setting("abbs_bing_search_options", "abbs_bing_search_count", array( 'type' => 'intval', 'description' => __('The amount of Search items per page', 'abbs_ab-bing-search'), 'sanitize_callback' => null, 'show_in_rest' => false, )); register_setting("abbs_bing_search_options", "abbs_bing_search_market", array( 'type' => 'string', 'description' => __('The market that the search will use', 'abbs_ab-bing-search'), 'sanitize_callback' => null, 'show_in_rest' => false, )); register_setting("abbs_bing_search_options", "abbs_bing_search_custom_css", array( 'type' => 'string', 'description' => __('Inject any custom styling here to be used on the plugin theme file', 'abbs_ab-bing-search'), 'sanitize_callback' => null, 'show_in_rest' => false, )); add_settings_section( 'abbs_bing_search_settings_section', __('API Settings', 'abbs_ab-bing-search'), '', 'abbs_bing_search_options' ); add_settings_section("abbs_bing_inject_css_section", __("Custom CSS", 'abbs_ab-bing-search'), '', "abbs_bing_search_options" ); add_settings_field("abbs_bing_api_key", __("Bing API Key", 'abbs-bing-search'), "abbs_bing_api_key_callback", "abbs_bing_search_options", 'abbs_bing_search_settings_section'); add_settings_field("abbs_bing_search_count", __("Items Per Page", 'abbs-bing-search'), "abbs_bing_search_count_callback", "abbs_bing_search_options", 'abbs_bing_search_settings_section'); add_settings_field("abbs_bing_search_market", __("Country/Market", 'abbs-bing-search'), "abbs_bing_search_market_callback", "abbs_bing_search_options", 'abbs_bing_search_settings_section'); add_settings_field("abbs_bing_search_custom_css", __("Custom Styles", 'abbs-bing-search'), "abbs_bing_search_custom_css_callback", "abbs_bing_search_options", 'abbs_bing_inject_css_section'); } function abbs_bing_search_custom_css_callback() { // get the value of the setting we've registered with register_setting() $setting = get_option('abbs_bing_search_custom_css'); ?>
=__("You have not yet set your bing search API Key. You can obtain one", 'abbs-bing-search');?> =__("here.", "abbs-bing-search");?>