web-dev-qa-db-de.com

Bedingte Anweisung Benutzerdefinierte Beitragstypkategorie

Ich möchte einen Text anzeigen, der von meiner benutzerdefinierten Taxonomie-Kategorie abhängt, z. B .:

wenn benutzerdefinierte Beitragstypkategorie Xist, dann geben Sie Text Y zurück.

Ich habe es versucht, aber es funktioniert nicht:

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

 }

irgendwelche ideien?

1
user43780

is_category() funktioniert nicht auf benutzerdefinierten Taxonomie-Archivseiten. Das korrekte bedingte Tag ist is_tax() , das den Namen der Taxonomie als ersten Parameter und eine Zeichenfolge | int | aus den Begriffen name/s, slug/s oder ID/s als zweiten Parameter verwendet.

So kann Ihre gesamte bedingte Anweisung ungefähr so ​​aussehen:

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

BEARBEITEN

Um zu testen, ob ein Beitrag zu einem bestimmten Begriff gehört, sollten Sie has_term() verwenden, um den bestimmten Begriff zu testen

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