Are you looking for a way to extend search to include custom post meta? While there’s probably a plugin for this, we have created a quick code snippet that you can use to extend search to include custom post meta in WordPress.
Instructions:
All you have to do is add this code to your theme’s functions.php file or in a site-specific plugin:
/* * Extend wp search to include custom post meta */ function custom_search_query( $query ) { if ( !is_admin() && $query->is_search ) { $query->set('meta_query', array( array( 'key' => '__meta_key__', 'value' => $query->query_vars['s'], 'compare' => 'LIKE' ) )); $query->set('post_type', '__your_post_type__'); // optional }; } add_filter( 'pre_get_posts', 'dc_custom_search_query');
Note: If this is your first time adding code snippets in WordPress, then please refer to our guide on how to properly copy / paste code snippets in WordPress, so you don’t accidentally break your site.
If you liked this code snippet, please consider checking out our other articles on the site like: 22 best WordPress themes for podcasting and how to create a popup form in WordPress.
Also, the function callback is wrong.
And I guess it will not return anything if the searchword is not present in the meta
Wrong? If it’s a filter, it must _return_ $query.