web-dev-qa-db-fra.com

Catégorie de type de publication personnalisée de déclaration conditionnelle

J'aimerais afficher un texte dépendant de ma catégorie de taxonomie personnalisée, tel que:

si catégorie de type de message personnalisé estX, alors echo Texte Y .

J'ai essayé ça, mais ça ne marche pas:

global $post; 
if (($post->post_type == 'myposttype') && is_category('slug-name-of-cat')) {
 echo 'My text'

 }

des ideias?

1
user43780

is_category() ne fonctionne pas sur les pages d'archive de taxonomie personnalisée. La balise conditionnelle correcte ici est is_tax() qui prend le nom de la taxonomie en premier paramètre et une chaîne | int | tableau de nom/s, slug/s ou ID/s en tant que second paramètre.

Ainsi, votre déclaration conditionnelle entière peut ressembler à quelque chose comme:

if ( is_tax( 'my_taxonomy', 'slug-name-of-the-term') ) {
    echo 'My text';
}

MODIFIER

En outre, pour vérifier si une publication appartient à un terme spécifique, vous devez utiliser has_term() pour tester le terme spécifique.

global $post; 
if (    ( $post->post_type == 'myposttype' ) 
     && has_term( 'slug-name-of-the_term', 'my_taxonomy' )
) {
    echo 'My text'
}
2
Pieter Goosen