Stai cercando un modo per estendere la ricerca per includere meta personalizzati dei post? Sebbene esista probabilmente un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per estendere la ricerca per includere meta personalizzati dei post in WordPress.
Istruzioni:
Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:
/*
* 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');
Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come copiare / incollare correttamente snippet di codice in WordPress, in modo da non rompere accidentalmente il tuo sito.
Se ti è piaciuto questo snippet di codice, prendi in considerazione la lettura dei nostri altri articoli sul sito come: 22 migliori temi WordPress per il podcasting e come creare un modulo popup in WordPress.
Inoltre, la callback della funzione non è corretta.
E immagino che non restituirà nulla se la parola cercata non è presente nel meta
Sbagliato? Se è un filtro, deve _restituire_ $query.