Extend WordPress search to include user search

You can’t achieve this easily with WP’s built-in search system. Even if you managed to build a complicated query that pulls data from the user table, it would be incredibly slow. Search Unleashed had this functionality, but I’m not sure about compatibility with WP 3.2. I used it in the past as inspiration to add … Read more

How to look at code in WordPress repositories without downloading?

Good news and more good news! First – all of the code related to WordPress itself and its repositories resides in version control system (Subversion). Among other things that makes publicly available sites with all code in plain sight: http://core.svn.wordpress.org/ http://themes.svn.wordpress.org/ http://plugins.svn.wordpress.org/ One not so obvious result of that – if you can see it, … Read more

Limit search to latin characters

This solution filters search strings by applying a regular expression which only matches characters from the Common and Latin Unicode scripts. Matching Latin Characters with Regular Expressions I just had my mind blown over at Stack Overflow. As it turns out, regular expressions have a mechanism to match entire Unicode categories, including values to specify … Read more

Remove some pages from search

In WP_Query() there is a ‘post__not_in’ argument where you can exclude specific post ID’s. You would create a new WP_Query inside of your search.php and use the current $query_args, then add on your ‘post__not_in’. If you wanted to make it more dynamic, you could also build in some post meta where you could do a … Read more

How does WordPress search work behind the scenes?

EDIT – The current version of WordPress supports relevance, so this answer is no longer accurate. There’s no concept of rank or relevance, it’s just a simple LIKE query on the post title and content: ($wpdb->posts.post_title LIKE ‘{$n}{$term}{$n}’) OR ($wpdb->posts.post_content LIKE ‘{$n}{$term}{$n}’) You can use the posts_search filter to modify or completely replace the search … Read more

How to search for (partial match) display names of WordPress users?

Searching the main table Simply use WP_User_Query with a search argument. So if you want to search for example for a user with a keyword in his user_email or similar columns from the {$wpdb->prefix}users table, then you can do the following: $users = new WP_User_Query( array( ‘search’ => ‘*’.esc_attr( $your_search_string ).’*’, ‘search_columns’ => array( ‘user_login’, … Read more

How do I remove Pages from search?

The below should make the page post type no longer search-able. function remove_pages_from_search() { global $wp_post_types; $wp_post_types[‘page’]->exclude_from_search = true; } add_action(‘init’, ‘remove_pages_from_search’);

How to highlight search terms without plugin

Add these 2 functions to your functions.php function search_excerpt_highlight() { $excerpt = get_the_excerpt(); $keys = implode(‘|’, explode(‘ ‘, get_search_query())); $excerpt = preg_replace(‘/(‘ . $keys .’)/iu’, ‘<strong class=”search-highlight”>\0</strong>’, $excerpt); echo ‘<p>’ . $excerpt . ‘</p>’; } function search_title_highlight() { $title = get_the_title(); $keys = implode(‘|’, explode(‘ ‘, get_search_query())); $title = preg_replace(‘/(‘ . $keys .’)/iu’, ‘<strong class=”search-highlight”>\0</strong>’, … Read more