Restreindre la recherche à un custom post type spécifique

Quand on gère plusieurs type de contenu personnalisés on pourrait avoir besoin de restreindre les résultats de recherche à certains d’entres eux et donc évincer les autres.

Comment n’afficher que les résultats de recherche de customs posts spécifiques ?

Ajoutez la fonction suivante à votre fichier functions.php : (notez que nous restreignons l’action aux « non admins » pour vous permettre de toujours avoir les résultats ignorés).

// restreindre la recherche à un type de customs posts
function wpln_limit_search_to_customs_types( $query ) {
    if ( $query->is_search && !is_admin() ) {
        $query->set( 'post_type', 'portofolio' );
    }
    return $query;
}
add_filter( 'pre_get_posts', 'wpln_limit_search_to_customs_types' );

Dans cet exemple nous afficherons uniquement les articles du portofolio.
Vous pouvez également sélectionner plusieurs customs posts type en mettant un array()

exemple :

$query->set( 'post_type', array( 'portofolio', 'actualites' ) );

Gregory

Agitateur de Stratégies, addict à WordPress depuis 2003, fada de Google depuis 1998. Incubateur Digital, j'accompagne au quotidien plusieurs entreprises et indépendants dans la gestion de leur stratégie digitale et l'optimisation de leurs sites WordPress. Basé à Aix-en-Provence, je suis à l'écoute de votre projet si vous avez besoin d'un expert WordPress.

Vous aimerez aussi

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *