Forums › Forums › Search & Filter Pro › Exclude terms from search results
Tagged: search terms
- This topic has 3 replies, 2 voices, and was last updated 6 years, 4 months ago by Trevor.
Viewing 4 posts - 1 through 4 (of 4 total)
-
Anonymous(Private) July 31, 2018 at 11:09 am #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; }
-
AuthorPosts
Viewing 4 posts - 1 through 4 (of 4 total)