Você está procurando uma maneira de estender a busca para incluir meta de postagem personalizada? Embora provavelmente exista um plugin para isso, criamos um trecho de código rápido que você pode usar para estender a busca para incluir meta de postagem personalizada no WordPress.
Instruções:
Tudo o que você precisa fazer é adicionar este código ao arquivo functions.php do seu tema ou a um plugin específico do site:
/*
* 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');
Observação: Se esta é a primeira vez que você adiciona snippets de código no WordPress, consulte nosso guia sobre como copiar / colar snippets de código corretamente no WordPress, para não quebrar acidentalmente seu site.
Se você gostou deste trecho de código, considere conferir nossos outros artigos no site, como: 22 melhores temas do WordPress para podcasting e como criar um formulário pop-up no WordPress.
Além disso, o callback da função está errado.
E eu acho que ele não retornará nada se a palavra de busca não estiver presente nos metadados
Errado? Se for um filtro, ele deve _retornar_ $query.