version = $version; $this->options = get_option( 'add_search_to_menu' ); } /** * PHP 4 Compatible Constructor * */ function Add_Search_To_Menu_Public() { $this->__construct(); } /* Enqueues search menu style and script files */ function add_search_to_menu_script_style(){ $options = $this->options; if ( ! isset( $options['do_not_load_plugin_files']['plugin-css-file'] ) ){ wp_enqueue_style( 'add-search-to-menu-styles', plugins_url( '/css/add-search-to-menu.css', __FILE__ ) ); } if ( ! isset( $options['do_not_load_plugin_files']['plugin-js-file'] ) && ( isset( $options['add_search_to_menu_style'] ) && $options['add_search_to_menu_style'] != 'default' ) ) { wp_enqueue_script( 'add-search-to-menu-scripts', plugins_url( '/js/add-search-to-menu.js', __FILE__ ), array( 'jquery' ), '1.0', true ); } } /* Adds search in the navigation bar in the front end of site */ function add_search_to_menu_items( $items, $args ) { $options = $this->options; if ( isset( $options['add_search_to_menu_locations'] ) ) { if ( isset( $options['add_search_to_menu_locations']['initial'] ) ) { unset( $options['add_search_to_menu_locations']['initial'] ); $options['add_search_to_menu_locations'][$args->theme_location] = $args->theme_location; update_option( 'add_search_to_menu', $options ); } if ( isset( $options['add_search_to_menu_locations'][$args->theme_location] ) ) { if ( isset( $options['add_search_to_menu_gcse'] ) && $options['add_search_to_menu_gcse'] != '' ) { $items .= '
  • ' . $options['add_search_to_menu_gcse'] . '
  • '; } else { $search_class = isset( $options['add_search_to_menu_classes'] ) ? $options['add_search_to_menu_classes'].' astm-search-menu ' : 'astm-search-menu '; $search_class .= isset( $options['add_search_to_menu_style'] ) ? $options['add_search_to_menu_style'] : 'default'; $title = isset( $options['add_search_to_menu_title'] ) ? $options['add_search_to_menu_title'] : ''; $items .= '
  • '; if ( $options['add_search_to_menu_style'] != 'default' ){ $items .= ''; if ( $title == '' ) { $items .= ' '; } else { $items .= $title; } $items .= ''; } $items .= get_search_form( false ); if ( isset( $options['add_search_to_menu_close_icon'] ) && $options['add_search_to_menu_close_icon'] ) { $items .= '
    '; } $items .= '
  • '; } } } return $items; } /* Adds search in the mobile header in the front end of site */ function add_search_to_menu_in_header() { $options = $this->options; $items = ''; if ( isset( $options['add_search_to_menu_locations']['initial'] ) ) { unset( $options['add_search_to_menu_locations']['initial'] ); $options['add_search_to_menu_locations'][$args->theme_location] = $args->theme_location; update_option( 'add_search_to_menu', $options ); } if ( isset( $options['add_search_to_menu_gcse'] ) && $options['add_search_to_menu_gcse'] != '' ) { $items .= '
  • ' . $options['add_search_to_menu_gcse'] . '
  • '; } else { $search_class = isset( $options['add_search_to_menu_classes'] ) ? $options['add_search_to_menu_classes'].' astm-search-menu ' : 'astm-search-menu '; $search_class .= isset( $options['add_search_to_menu_style'] ) ? $options['add_search_to_menu_style'] : 'default'; $title = isset( $options['add_search_to_menu_title'] ) ? $options['add_search_to_menu_title'] : ''; $items .= '
    '; $items .= ''; if ( $options['add_search_to_menu_style'] != 'default' ){ $items .= ''; if ( $title == '' ) { $items .= ' '; } else { $items .= $title; } $items .= ''; } $items .= get_search_form( false ); if ( isset( $options['add_search_to_menu_close_icon'] ) && $options['add_search_to_menu_close_icon'] ) { $items .= '
    '; } $items .= '
    '; } echo $items; } /* Filters search result */ function add_search_to_menu_search_filter( $query ) { $options = $this->options; if ( isset( $options['add_search_to_menu_posts']['initial'] ) ) { $args = array( 'exclude_from_search' => false ); $posts = get_post_types( $args ); $post_keys = array_keys( $posts ); foreach ( $post_keys as $post_key ) { $options['add_search_to_menu_posts'][ $post_key ] = $post_key; } unset( $options['add_search_to_menu_posts']['initial'] ); update_option( 'add_search_to_menu', $options ); } if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) { $query->set( 'post_type', $options['add_search_to_menu_posts'] ); } } /* Adds custom CSS code in the site front end */ function add_search_to_menu_css() { $options = $this->options; if ( isset( $options['add_search_to_menu_css'] ) && $options['add_search_to_menu_css'] != '' ) { echo ''; } } }