Commenti disabilitati su Escludere alcuni risultati nella ricerca di WordPress

Oggi mi serviva escludere dalla ricerca di wordpress tutte quelle pagine che arrivavano dal plugin promotion, e da altri plugin installati sul mio sistema. Inserite nel file function.php queste righe per effettuare la ricerca solo su post e pagine:

<?php

function search_filter($query) {

if ($query->is_search) {

$query->set('post_type', array('post', 'page'));

}

return $query;

}

add_filter('pre_get_posts','search_filter');

?>

Volete invece escludere una categoria dalla ricerca? Ecco il codice:

<?php

function search_filter($query) {

if ($query->is_search) {

$query->set('cat', '-14');

}

return $query;

}

add_filter('pre_get_posts','search_filter');

?>

sostituite a 14 l’id della categoria che volete escludere.

Per vedere quali argomenti potete cambiare, provate a scrivere nel vostro function.php questo codice:

<?php

function search_filter($query) {

if ($query->is_search) {
echo '<pre>';
print_r($query);
echo '</pre>';

}

return $query;

}

add_filter('pre_get_posts','search_filter');

?>

Ovviamente questa esclusione può essere allargata ad altre query, sostituendo ad esempio $query->is_search con $query->is_home

Comments are closed.