Listar las categorías bajo una taxonomía personalizada

10 may 2013, 21:08:53
Vistas: 27.4K
Votos: 7

Tengo un problema aquí, registré un tipo de entrada personalizada (custom post type) y lo nombré 'recipe', luego creé una taxonomía personalizada bajo ese tipo de entrada, la nombré 'recipe category'. Ahora quiero mostrar las categorías bajo esa taxonomía personalizada, pero desafortunadamente no he tenido éxito.

Intenté este código

<?php
// Define la taxonomía
$taxonomy = 'recipecategory';
$tax_terms = get_terms($taxonomy);
?>
<ul>
<?php
foreach ($tax_terms as $tax_term) {
echo '<li>' . '<a href="' . esc_attr(get_term_link($tax_term, $taxonomy)) . '" title="' . sprintf( __( "Ver todas las entradas en %s" ), $tax_term->name ) . '" ' . '>' . $tax_term->name.'</a></li>';
}
?>
</ul>

pero no muestra nada, ¿qué está mal con mi código? ¿me perdí de algo? Casi olvido mencionar que estoy usando el plugin Custom Post Type UI

2
Comentarios

¿Genera un marcado vacío (li,a), o absolutamente nada?

vancoder vancoder
10 may 2013 21:13:36

@vancoder , sí, absolutamente nada... No sé por qué.. aquí está la imagen

markyeoj markyeoj
13 may 2013 13:51:23
Todas las respuestas a la pregunta 1
1

El problema solo puede ser uno de los siguientes:

  1. Tu taxonomía "recipecategory" no existe.

  2. Tu taxonomía no tiene términos.

  3. Ninguno de los términos de recipecategory tiene posts. En este caso, realiza el siguiente cambio:

$tax_terms = get_terms($taxonomy, array('hide_empty' => false));

Esto debería funcionar ya que anulará la configuración predeterminada, que es ignorar términos vacíos.

 foreach($tax_terms as $term_single) {      
         $term_single->slug;  
         $term_single->name;        
 } 
13 may 2013 20:26:59
Comentarios

gracias @vancoder, pensé que era posible mostrar las categorías bajo mi taxonomía personalizada sin crear publicaciones usando las categorías. Ahora lo sé, muchas gracias, es un alivio. :)

markyeoj markyeoj
14 may 2013 13:25:12