it-swarm.com.de

Überprüfen, ob eine Seite einen verknüpften Begriff hat?

Ich suche nach einer Möglichkeit, Bedingungslogik für Begriffe zu erstellen, die mit einem Beitrag verknüpft sind.

Im Wesentlichen habe ich meine eigene Taxonomie für "Altersgruppen" erstellt und drei Begriffe für diese erstellt. Kinder, Jugendliche, Erwachsene ... Im Administrationsbereich möchte ich die Bedingungen überprüfen, die für einen bestimmten Beitrag gelten, und im Frontend der Website in meiner Seitenvorlage ein bestimmtes Bild anzeigen, wenn der Begriff mit dem Beitrag verknüpft war oder eine andere, wenn der Begriff nicht zugeordnet wurde.

Hat jemand eine Lösung für diese ... Ich dachte, das folgende Codebeispiel würde funktionieren, aber es funktioniert nicht. (Übrigens - was ich hier tue, ist das Image basierend auf CSS zu ändern).

<li id="kids-<?php if ( is_term( 'Kids' , 'age_groups' ) ) {
   echo 'on';
} else {echo 'off';} ?>">Kids Programs</li>
2

Hallo @ NetConstructor:

Als erstes können Sie unter der Annahme, dass Ihre Logik funktioniert hat, den ternären Operator verwenden, um Ihr Beispiel zu vereinfachen:

<li id="kids-<?php echo is_term('Kids','age_groups') 
   ? 'on' : 'off'; ?>">Kids Programs</li>

Das Problem scheint zu sein, dass is_term() verwendet wird, um zu prüfen, ob ein Begriff vorhanden ist, und nicht, ob er einem bestimmten Beitrag zugeordnet ist. Ich denke, was Sie wirklich wollen, ist is_object_in_term() (was davon ausgeht, dass Sie sich in The Loop befinden, dh, dass $post einen geeigneten Wert hat):

<li id="kids-<?php echo is_object_in_term($post->ID,'age_groups','Kids') 
   ? 'on' : 'off'; ?>">Kids Programs</li>

P.S. Angenommen, is_term() war die richtige Funktion, wurde sie tatsächlich veraltet ; term_exists() ersetzt is_term(); Nur zur Info.

6
MikeSchinkel