Home>Snippets>Limitare la ricerca di WordPress in uno specifico post type

Limitare la ricerca di WordPress in uno specifico post type


Limitare la ricerca di WordPress in uno specifico post type


Quando di utilizza il search form di WordPress, la ricerca viene effettuata di default in tutti i post type presenti nel database. Ma in molti casi, si ha la necessità di circoscriverla ad un solo post type, oppure a più d’uno, ma non a tutti. Come fare a comunicare al search engine di WordPress questa limitazione?

  • Leggi l'articolo, ti bastano solo 1 minuto, 2 secondi
    Sei di fretta? Scarica il PDF e consultalo quando vuoi!

Il codice

Modifica il file functions.php del tuo tema, che trovi nello spazio FTP del tuo sito, in:

wp-content/themes/{nome_del_tema}/

ed aggiungi le seguenti linee di codice:

// Limita la ricerca ad uno specifico post type
add_filter( 'pre_get_posts', function( $query ) {
	if ( $query->is_search ) {
		$query->set( 'post_type', 'page' );
	}
	return $query;
} );

Nel caso specifico, i risultati di ricerca saranno limitati ai soli articoli.

In alternativa, se preferisci, puoi aggiungere al form di ricerca, che di solito trovi nel file searchform.php del tuo tema, che trovi nello spazio FTP del tuo sito, in:

wp-content/themes/{nome_del_tema}/

un campo di input nascosto che contenga il post type a cui vuoi limitare la ricerca:

<input type="hidden" name="post_type" value="post" />

ottenendo così esattamente lo stesso risultato del primo esempio.



Ti è piaciuto questo articolo? Regalami un click per ripagarmi dello sforzo



Code4Life ti è stato utile? Sostienici con una donazione!

Dona con PayPal

Hai trovato interessante l’articolo? Allora ti consiglio di leggere:

Aggiungere il supporto a WooCommerce nel tuo tema

Aggiungere il supporto a WooCommerce nel tuo tema


Ecco come comunicare al tuo tema che stai utilizzando WooCoomerce, dichiarandone il supporto per ottimizzarne l’integrazione.

Rimuovere i widget di default dalla bacheca di WordPress

Rimuovere i widget di default dalla bacheca di WordPress


Ecco come rimuovere con un semplice snippet i widget predefiniti presenti nella bacheca di WordPress

Oppure cerca tra gli articoli correlati


E tu cosa ne pensi? Condividi la tua opinione e discutiamone insieme
La tua email non sarà resa pubblico o utilizzata per inviarti spam, te lo prometto

Iscrivimi alla newsletter per ricevere news ed aggiornamenti
Utilizziamo piattaforme di terze parti per l’invio di newsletter. (Informativa sulla privacy)
Tienimi aggiornato su questo articolo
Ricevi una email di notifica quando qualcuno scriverà un commento a questo articolo. (Informativa sulla privacy)
Ricorda i miei dati per la prossima volta che scriverò un commento
Il tuo nome e la tua email verranno salvati in un cookie in questo browser. (Informativa sulla privacy)