esc_html__( 'SearchWP Live Search', 'searchwp-live-ajax-search' ) ] ); } /** * Front-end display of widget. * * @since 1.0 * * @see WP_Widget::widget() * * @param array $args Widget arguments. * @param array $instance Saved values from database. */ public function widget( $args, $instance ) { $title = apply_filters( 'widget_title', $instance['title'] ); $destination = empty( $instance['destination'] ) ? '' : $instance['destination']; $placeholder = empty( $instance['placeholder'] ) ? esc_html__( 'Search for...', 'searchwp-live-ajax-search' ) : $instance['placeholder']; $engine = empty( $instance['engine'] ) ? 'default' : $instance['engine']; $config = empty( $instance['config'] ) ? 'default' : $instance['config']; echo wp_kses_post( $args['before_widget'] ); do_action( 'searchwp_live_search_before_widget' ); if ( ! empty( $title ) ) { echo wp_kses_post( $args['before_title'] . $title . $args['after_title'] ); } do_action( 'searchwp_live_search_widget_title', [ 'before_title' => $args['before_title'], 'title' => $title, 'after_title' => $args['after_title'], ] ); ?>
form_title_html( $instance ); $this->form_engines_html( $instance ); $this->form_configs_html( $instance ); $this->form_advanced_html( $instance ); } /** * Get available engines. * * @since 1.7.0 * * @return array */ private function form_get_engines() { $engines = []; if ( ! class_exists( 'SearchWP' ) ) { return $engines; } if ( class_exists( '\\SearchWP\\Settings' ) ) { $engines = $this->form_get_v4_engines(); } elseif ( method_exists( 'SearchWP', 'instance' ) ) { $engines = $this->form_get_v3_engines(); } return $engines; } /** * Get available v3 engines. * * @since 1.7.0 * * @return array */ private function form_get_v3_engines() { $engines = []; $engines['default'] = esc_html__( 'Default', 'searchwp-live-ajax-search' ); $searchwp = SearchWP::instance(); $searchwp_engines = $searchwp->settings['engines']; foreach ( $searchwp_engines as $engine => $engine_settings ) { if ( isset( $engine_settings['searchwp_engine_label'] ) ) { $engines[ $engine ] = $engine_settings['searchwp_engine_label']; } } return $engines; } /** * Get available v4 engines. * * @since 1.7.0 * * @return array */ private function form_get_v4_engines() { $engines = []; $searchwp_engines = \SearchWP\Settings::get_engines(); foreach ( $searchwp_engines as $engine => $engine_settings ) { $engines[ $engine ] = $engine_settings->get_label(); } return $engines; } /** * Back-end widget form part: Title. * * @since 1.7.0 * * @param array $instance Previously saved values from database. */ private function form_title_html( $instance ) { $widget_title = isset( $instance['title'] ) ? $instance['title'] : esc_html__( 'Search', 'searchwp-live-ajax-search' ); ?>form_get_engines(); if ( empty( $engines ) ) { return; } // We'll piggyback SearchWP itself to pull a list of search engines. $widget_engine = isset( $instance['engine'] ) ? $instance['engine'] : 'default'; ?>
get( 'Form' ); ?>
! empty( $new_instance['title'] ) ? wp_strip_all_tags( $new_instance['title'] ) : '', 'destination' => ! empty( $new_instance['destination'] ) ? wp_strip_all_tags( $new_instance['destination'] ) : '', 'placeholder' => ! empty( $new_instance['placeholder'] ) ? wp_strip_all_tags( $new_instance['placeholder'] ) : '', 'engine' => ! empty( $new_instance['engine'] ) ? wp_strip_all_tags( $new_instance['engine'] ) : '', 'config' => ! empty( $new_instance['config'] ) ? wp_strip_all_tags( $new_instance['config'] ) : '', ]; } }