declarație condițională pentru taxonomie personalizată
Mă chinui să aflu cum să realizez acest lucru, dacă este posibil. Echivalentul lui is_category dar pentru o taxonomie personalizată pe care am configurat-o. Taxonomia este Numele Taxonomiei cu 2 termeni: Taxonomia Unu și Taxonomia Doi. Dar acest cod:
<?php if ( has_term('taxonomia-unu' ) ) {?>
<div class="test" style="color: red"><?php the_field('nume_camp'); ?></div>
<?php } elseif ( has_term('taxonomia-doi' ) ) {?>
<div class="test" style="color: green"><?php the_field('nume_camp'); ?></div>
<?php } ?>
Nu pare să existe documentație pentru acest lucru, așa că nu sunt sigur dacă este posibil, sper totuși că da. Orice sugestii ar fi foarte apreciate!
Sunt sigur că nu ar trebui să folosești negație în condiții... Dacă verifici ! is_tax... va fi adevărat nu doar pentru alte pagini de taxonomie, dar și pentru pagini singular, și orice altceva...
Deci ar trebui să arate astfel:
<?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 } ?>
Și despre lipsa documentației... Nu am idee unde ai căutat, dar există o pagină în codex pentru is_tax: http://codex.wordpress.org/Function_Reference/is_tax ;)
PS. Dacă vrei să verifici dacă un anumit post este atribuit unui termen, atunci ar trebui să folosești funcția has_term.
mulțumesc pentru asta! Am citit asta în codex înainte, dar eu nu caut să pun acest cod într-o arhivă de taxonomii, ci într-o arhivă de tip post personalizat la care am adăugat taxonomiile personalizate :) Am încercat și codul sugerat de tine mai sus și nu a funcționat :(
user1374796
is_tax îți spune dacă este o arhivă de taxonomii. O arhivă de tip post personalizat nu este o arhivă de taxonomii (la fel cum indexul de postări nu este o arhivă de categorii)... Deci nu sunt exact sigur ce încerci să realizezi...?
Krzysiek Dróżdż
ah, corect, nu mi-am dat seama de asta, sunt nou în taxonomii, scuze. Ceea ce încercam să realizez era să verific dacă postul se află într-o taxonomie sau alta. Dacă se află într-una, textul din arhiva postărilor va fi roșu, iar dacă se află în cealaltă, textul din arhiva postărilor va fi verde.
user1374796
Nicio problemă. Ar trebui să folosești has_term (http://codex.wordpress.org/Function_Reference/has_term) atunci.
Krzysiek Dróżdż
Am editat întrebarea mea cu has_term dar tot nu pare să funcționeze, nu apare nimic deloc?
user1374796
Ce este taxonomy-one în codul tău? Este un termen sau numele taxonomiei tale personalizate?
Krzysiek Dróżdż
Și care este numele acestei taxonomii personalizate? (nu termenul)
Krzysiek Dróżdż
numele acelei taxonomii fiind 'Taxonomy Name' cu slug-ul 'taxonomy-name'
user1374796