Frage

Ich suche nach einer Möglichkeit, eine bedingte Logik zu Begriffen zu machen, die mit einem Beitrag verbunden sind.

Im Wesentlichen habe ich meine eigene benutzerdefinierte Taxonomie für "Altersgruppen" erstellt und drei Begriffe für sie erstellt. Kinder, Teenager, Erwachsene ... Im Administratorbereich möchte ich die Begriffe überprüfen, die für einen bestimmten Beitrag gelten, und an der Frontend der Site in meiner Seitenvorlage möchte ich ein bestimmtes Bild anzeigen, wenn der Begriff dem Beitrag zugeordnet wurde oder eine andere, wenn der Begriff nicht verbunden war.

Hat jemand eine Lösung dafür ... Ich dachte, das folgende Code -Beispiel würde funktionieren, aber nicht. (Übrigens - Was ich hier tue, ist das Bild basierend auf CSS).

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

Lösung

Hi @NetConstructor:

Erste Sache, Annahme Ihre Logik funktioniert mit dem ternären Operator, um Ihr Beispiel zu vereinfachen:

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

Das Problem scheint das zu sein is_term() wird verwendet, um zu überprüfen, ob ein Begriff existiert, nicht wenn er einem bestimmten Beitrag zugeordnet ist. Ich denke, was du wirklich willst ist is_object_in_term() (was davon ausgeht, dass Sie in der Nähe sind Die Schleife, dh das $post hat einen geeigneten Wert):

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

Ps angenommen is_term() war die richtige Funktion gewesen, es war tatsächlich gewesen veraltet; term_exists() ersetzt is_term(); Nur zur Info.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top