istruzione condizionale per tassonomia personalizzata

12 lug 2013, 22:57:29
Visualizzazioni: 19.6K
Voti: 1

Sto avendo difficoltà a capire come ottenere questo risultato, se è possibile. L'equivalente di is_category ma per una tassonomia personalizzata che ho impostato. La categoria della tassonomia è Nome Tassonomia con 2 tassonomie: Tassonomia Uno e Tassonomia Due. Ma questo:

<?php if ( has_term('tassonomia-uno' ) ) {?>
    <div class="test" style="color: red"><?php the_field('nome_campo'); ?></div>
<?php } elseif ( has_term('tassonomia-due' ) ) {?>
    <div class="test" style="color: green"><?php the_field('nome_campo'); ?></div>
<?php } ?>

Non sembra esserci alcuna documentazione su questo argomento, quindi non sono affatto sicuro che sia possibile, spero di sì, qualsiasi suggerimento sarebbe molto apprezzato!

0
Tutte le risposte alla domanda 1
13

Sono abbastanza sicuro che non dovresti usare la negazione nelle tue condizioni... Se controlli ! is_tax... sarà vero non solo per altre pagine di tassonomia, ma anche per pagine singole e qualsiasi altra...

Quindi dovrebbe essere così:

<?php if ( is_tax('taxonomy-name','taxonomy-one' ) ) {?>
    <div class="test" style="color: red"><?php the_field('field_name'); ?></div>
<?php } elseif ( is_tax('taxonomy-name','taxonomy-two' ) ) {?>
    <div class="test" style="color: green"><?php the_field('field_name'); ?></div>
<?php } ?>

E riguardo alla mancanza di documentazione... Non ho idea di dove abbia cercato, ma c'è una pagina del codex per is_tax: http://codex.wordpress.org/Function_Reference/is_tax ;)

PS. Se vuoi verificare se un determinato post è assegnato a un termine, dovresti usare la funzione has_term.

12 lug 2013 23:04:26
Commenti

grazie per questo! Avevo già letto questa parte nel codex, ma in realtà non sto cercando di inserire questo codice in un archivio di tassonomia, ma in un archivio di custom post type a cui ho aggiunto le tassonomie personalizzate :) Avevo già provato anche il codice che hai suggerito sopra e non ha funzionato :(

user1374796 user1374796
12 lug 2013 23:19:30

is_tax ti dice se è un archivio di tassonomia. Un archivio di custom post type non è un archivio di tassonomia (così come l'indice dei post non è un archivio di categoria)... Quindi non sono esattamente sicuro di cosa tu voglia ottenere...?

Krzysiek Dróżdż Krzysiek Dróżdż
12 lug 2013 23:32:30

ah giusto, non lo sapevo, sono nuovo alle tassonomie, scusa. Quello che cercavo di ottenere era verificare se il post apparteneva a una tassonomia o all'altra. Se appartiene a una, il testo nell'archivio dei post sarà rosso, se appartiene all'altra sarà verde.

user1374796 user1374796
12 lug 2013 23:36:37

Nessun problema. Dovresti usare has_term (http://codex.wordpress.org/Function_Reference/has_term) allora.

Krzysiek Dróżdż Krzysiek Dróżdż
12 lug 2013 23:38:28

Ho modificato la mia domanda con has_term ma sembra ancora non funzionare, non appare proprio nulla?

user1374796 user1374796
13 lug 2013 00:09:07

Cosa è taxonomy-one nel tuo codice? È un termine o il nome della tua tassonomia personalizzata?

Krzysiek Dróżdż Krzysiek Dróżdż
13 lug 2013 00:12:54

è il nome del termine

user1374796 user1374796
13 lug 2013 00:26:47

Intendi lo slug? E qual è il nome di quella tassonomia?

Krzysiek Dróżdż Krzysiek Dróżdż
13 lug 2013 00:32:24

sì lo slug, il nome è 'Taxonomy One'

user1374796 user1374796
13 lug 2013 00:40:16

E qual è il nome di questa tassonomia personalizzata? (non il termine)

Krzysiek Dróżdż Krzysiek Dróżdż
13 lug 2013 00:41:21

il nome di quella tassonomia è 'Taxonomy Name' con lo slug 'taxonomy-name'

user1374796 user1374796
13 lug 2013 00:49:05

OK, allora prova has_term('taxonomy-one', 'taxonomy-name')

Krzysiek Dróżdż Krzysiek Dróżdż
13 lug 2013 00:58:56

ecco!! ha funzionato, grazie mille per l'aiuto, davvero apprezzato.

user1374796 user1374796
13 lug 2013 01:23:11
Mostra i restanti 8 commenti