declaración condicional para taxonomía personalizada

12 jul 2013, 22:57:29
Vistas: 19.6K
Votos: 1

Luchando por descubrir cómo lograr esto, si es que es posible. El equivalente de is_category pero para una taxonomía personalizada que he configurado. La categoría de taxonomía es Nombre de Taxonomía con 2 taxonomías: Taxonomía Uno y Taxonomía Dos. Pero esto:

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

Parece que no hay documentación para esto tampoco, así que no estoy seguro de si es posible, aunque espero que sí. ¡Cualquier sugerencia sería muy apreciada!

0
Todas las respuestas a la pregunta 1
13

Estoy bastante seguro de que no deberías usar negación en tus condiciones... Si verificas ! is_tax... será verdadero no solo para otras páginas de taxonomía, sino también para páginas individuales, y cualquier otra...

Así que debería verse así:

<?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 } ?>

Y sobre la falta de documentación... No tengo idea de dónde has buscado, pero hay una página en el codex para is_tax: http://codex.wordpress.org/Function_Reference/is_tax ;)

PD. Si quieres verificar si una publicación está asignada a un término, entonces deberías usar la función has_term.

12 jul 2013 23:04:26
Comentarios

¡gracias por eso! He leído eso en el codex antes, pero en realidad no estoy buscando poner este código en un archivo de taxonomía, sino en un archivo de tipo de publicación personalizado al que he agregado las taxonomías personalizadas :) También he probado el código anterior que sugeriste antes y no funcionó :(

user1374796 user1374796
12 jul 2013 23:19:30

is_tax te dice si es un archivo de taxonomía. Un archivo de tipo de publicación personalizado no es un archivo de taxonomía (así como el índice de publicaciones no es un archivo de categoría)... Así que no estoy exactamente seguro de lo que quieres lograr...?

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

ah cierto, no me había dado cuenta de eso, soy nuevo en taxonomías, disculpas. Lo que estaba tratando de lograr era verificar si la publicación estaba en una taxonomía o en otra. Si está en una, el texto en el archivo de publicaciones será rojo y si está en la otra, el texto en el archivo de publicaciones será verde.

user1374796 user1374796
12 jul 2013 23:36:37

No hay problema. Deberías usar has_term (http://codex.wordpress.org/Function_Reference/has_term) entonces.

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

He editado mi pregunta con el has_term pero aún no parece funcionar, ¿no aparece nada?

user1374796 user1374796
13 jul 2013 00:09:07

¿Qué es taxonomy-one en tu código? ¿Es un término o el nombre de tu taxonomía personalizada?

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

es el nombre del término

user1374796 user1374796
13 jul 2013 00:26:47

¿Te refieres al slug? ¿Y cuál es el nombre de esa taxonomía?

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

sí, el slug, el nombre es 'Taxonomy One'

user1374796 user1374796
13 jul 2013 00:40:16

¿Y cuál es el nombre de esta taxonomía personalizada? (no el término)

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

el nombre de esa taxonomía es 'Taxonomy Name' con el slug 'taxonomy-name'

user1374796 user1374796
13 jul 2013 00:49:05

OK, entonces prueba has_term('taxonomy-one', 'taxonomy-name')

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

¡voilà! eso funcionó, muchas gracias por eso, realmente lo aprecio.

user1374796 user1374796
13 jul 2013 01:23:11
Mostrar los 8 comentarios restantes