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_website", array( 'type' => 'string', 'description' => __('The website that will be used in the search closure', 'abbs_ab-bing-search'), 'sanitize_callback' => null, 'show_in_rest' => false, )); register_setting("abbs_bing_search_options", "abbs_bing_inline_search", array( 'type' => 'string', 'description' => __('Set if you would like a inline search on the results column', '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_website_search", __("Website", 'abbs-bing-search'), "abbs_bing_website_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_inline_search",__("Inline Search field",'abbs-bing-search'),"abbs_bing_inline_search_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'); ?>

Setting this to empty will use the default server name.

"https://api.cognitive.microsoft.com/bing/v5.0/search?q=$query_string%20site%3A$url&count=$search_count&offset=$page_offset&mkt=$search_market&safesearch=moderate&responseFilter=WebPages&textDecorations=true&textFormat=HTML", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "cache-control: no-cache", "ocp-apim-subscription-key: ff2e93288547481897dd14e22074f654", ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { global $bing_query_object; $bing_query_object = "ERROR"; } else { global $bing_query_object; global $bing_query_options; $bing_query_object = json_decode($response); if (!isset($bing_query_object->webPages->value)) { $bing_query_object = "NORESULTS"; } else { $bing_query_object = $bing_query_object->webPages->value; $bing_query_options = array( "next_page" => "Next Page", "prev_page" => ($page != 0 ? "Previous Page" : ""), ); } } } catch (Exception $e) { global $bing_query_object; $bing_query_object = "ERROR"; } return __DIR__ . "/bing-search-template.php"; } function abbs_admin_footer_content() { echo 'Thank you for creating with WordPress. | Plugin Created By Askew Brook'; } function abbs_bing_search_check_if_search($query) { if ($query->is_search) { add_action('template_include', 'abbs_bing_search_fire_search_func'); } } } } Askew_Brook_Bing_Search::get_instance();