Support Forums

The forums are closed and will be removed when we launch our new site.

Looking for support? You can access the support system via your account.

Forums Forums Search & Filter Pro Exclude terms from search results

Tagged: 

Viewing 4 posts - 1 through 4 (of 4 total)
  • Daniel Warren
    #184033

    Is it possible to exclude specific terms from search results?

    For example If I search for the term “Audi” all posts with the term “audio” are returned. Similarly searching for “Ford” will return “affordable”.

    Trevor Moderator
    #184042

    If you are using the text search field, this level of sophistication is not built in to the standard WordPress search, which is what our plugin uses for that particular field.

    Daniel Warren
    #184052

    Bugger.

    I think stack overflow has got me 90% of the way there though. with the following:

    add_filter('posts_search', 'my_search_is_exact', 20, 2);
    function my_search_is_exact($search, $wp_query){
    
        global $wpdb;
    
        if(empty($search))
            return $search;
    
        $q = $wp_query->query_vars;
        $n = !empty($q['exact']) ? '' : '%';
    
        $search = $searchand = '';
    
        foreach((array)$q['search_terms'] as $term) :
    
            $term = esc_sql(like_escape($term));
    
            $search.= "{$searchand}($wpdb->posts.post_title REGEXP '[[:<:]]{$term}[[:>:]]') OR ($wpdb->posts.post_content REGEXP '[[:<:]]{$term}[[:>:]]')";
    
            $searchand = ' AND ';
    
        endforeach;
    
        if(!empty($search)) :
            $search = " AND ({$search}) ";
            if(!is_user_logged_in())
                $search .= " AND ($wpdb->posts.post_password = '') ";
        endif;
    
        return $search;
    
    }
    Trevor Moderator
    #184054

    Does that work for you, or not (if not, what issues)?

Viewing 4 posts - 1 through 4 (of 4 total)

The forum ‘Search & Filter Pro’ is closed to new topics and replies.