diff --git a/lib/cleanup.php b/lib/cleanup.php index c194a07..72edb5a 100644 --- a/lib/cleanup.php +++ b/lib/cleanup.php @@ -476,29 +476,20 @@ add_filter('dynamic_sidebar_params', 'roots_widget_first_last_classes'); * @link http://txfx.net/wordpress-plugins/nice-search/ */ function roots_nice_search_redirect() { - if (is_search() && strpos($_SERVER['REQUEST_URI'], '/wp-admin/') === false && strpos($_SERVER['REQUEST_URI'], '/search/') === false) { - wp_redirect(home_url('/search/' . str_replace(array(' ', '%20'), array('+', '+'), urlencode(get_query_var('s')))), 301); + global $wp_rewrite; + if (!isset($wp_rewrite) || !is_object($wp_rewrite) || !$wp_rewrite->using_permalinks()) { + return; + } + + $search_base = $wp_rewrite->search_base; + if (is_search() && !is_admin() && strpos($_SERVER['REQUEST_URI'], "/{$search_base}/") === false) { + wp_redirect(home_url("/{$search_base}/" . urlencode(get_query_var('s')))); exit(); } } add_action('template_redirect', 'roots_nice_search_redirect'); -/** - * Fix for get_search_query() returning +'s between search terms - */ -function roots_search_query($escaped = true) { - $query = apply_filters('roots_search_query', get_query_var('s')); - - if ($escaped) { - $query = esc_attr($query); - } - - return urldecode($query); -} - -add_filter('get_search_query', 'roots_search_query'); - /** * Fix for empty search queries redirecting to home page *