Domanda

Sto cercando un modo per fare un po 'di logica condizionato a condizioni associate con un post.

In sostanza ho creato il mio tassonomia personalizzato per "età" e hanno creato tre termini per loro. Bambini, adolescenti, adulti ... Nel settore amministrativo voglio verificare i termini che si applicano a un post specifico e sul frontend del sito all'interno del mio modello di pagina voglio mostrare un'immagine specifica se il termine è stato associato con il post o uno diverso se il termine non è stato associato.

Qualcuno ha una soluzione per questo ... ho pensato che il seguente esempio di codice avrebbe funzionato, ma non è così. . (A proposito - che cosa sto facendo qui sta cambiando l'immagine in base al largo css)

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

Soluzione

Ciao @NetConstructor:

Per prima cosa, assumendo la logica ha funzionato è possibile utilizzare l'operatore ternario per semplificare il tuo esempio:

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

Il problema sembra essere che is_term() viene utilizzato per verificare se esiste un termine, se non è associato a un determinato post. Credo che ciò che si vuole veramente è is_object_in_term() (che presuppone che l'utente nella The Loop , vale a dire che $post ha un valore appropriato ):

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

P.S. Supponendo is_term() era stata la giusta funzione, che sia stato effettivamente deprecato ; sostituisce term_exists() is_term(); Cordiali saluti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top