web-dev-qa-db-fra.com

instruction if pour les résultats de recherche

Mes résultats de recherche montrent des pages de WordPress et de woo-commerce. Je souhaite afficher des informations spécifiques sur les produits dans les résultats de la recherche dont ne disposent que les produits. Les pages WordPress normales n'ont pas cette méta-information et la page de recherche échoue s'il y a des pages WordPress dans les résultats.

Je souhaite donc afficher différentes informations de recherche si le résultat fait référence à une page wordpress ou s'il s'agit d'une page de commerce en ligne. Je pensais que ce serait aussi simple que d'utiliser is_woocommerce() ou is_product() sur mon searchloop.php, mais ces codes font référence à la page de recherche elle-même et non aux résultats de la recherche. Par conséquent, seul is_search() donnera un résultat positif.

Existe-t-il un moyen d'utiliser des instructions conditionnelles qui s'appliquent aux résultats de la recherche?

1
Jon

Dans la boucle, le meilleur moyen de vérifier si le résultat est un produit serait de vérifier la valeur de get_post_type() :

if ( get_post_type() === 'product' ) {

}

Comme vous le dites, is_woocommerce(), is_product() et is_search() permettent de vérifier quel type de page est visualisé, quel que soit l'élément en cours dans la boucle.

1
Jacob Peattie