WooCommerce: personalizzare l'interfaccia di ricerca prodotti (search.php)

Il file search.php cerca sia negli articoli WordPress in generale che nei prodotti WooCommerce, ma ne parlo nella categoria WooCommerce perchè è molto utile per la ricerca dei prodotti di un ecommerce. Creando o modificando (se presente) il file search.php nella cartella del tema, si personalizza la modalità di visualizzazione dei risultati della ricerca.

Per evitare ricerche inutili, imposto spesso questo pezzo di codice per evitare di considerare le ricerche con stringhe vuote:

add_filter( 'posts_search', function( $search, \WP_Query $q ){
    if( empty( $search ) && $q->is_search() && $q->is_main_query() ){
        $search .=" AND 0=1 ";
    }
    return $search;
}, 10, 2 );

In un ecommerce però è utile filtrare gli articoli WordPress e tenere nel risultato della ricerca, soltanto i prodotti WooCommerce, quindi utilizzo questo codice per limitare la ricerca ai soli prodotti:

function searchfilter($query) {
    if ($query->is_search && !is_admin() ) {
        $query->set('post_type',array('product'));
    }
return $query;
}
add_filter('pre_get_posts','searchfilter');

Questo ad esempio può essere inserito per limitare i post per pagina di risultato a 8:

$query->set('posts_per_page', 8);

Questo sito web non offre alcun cookie perchè non ho interesse a tracciare le attività di nessun utente attraverso i cookie e quindi non ne ho inseriti.
Il tema e i plugin sono realizzati da me e quindi nessun altro è autorizzato ad inserire cookie su questo sito web.
Se qualcuno dovesse individuare un cookie da qualche parte su questo sito web, non ce l'ho messo io,
ed è pregato di farmelo sapere, così potrò cercare e distruggere il cookie eventualmente individuato.
I software e i pezzi di codice condivisi su questo sito web sono da considerarsi a scopo educativo e senza alcuna garanzia
© 2021