Comprobar si un post tiene una categoría

2 ago 2011, 20:31:01
Vistas: 17.8K
Votos: 3

Necesito mostrar algo de HTML solo si el post que se está mostrando tiene una categoría - no una categoría específica, simplemente cualquier categoría.

Intenté usar if (!is_empty(get_the_category($post->ID))), pero por alguna razón esto no funciona. ¿Alguien más ha tenido el mismo problema?

0
Todas las respuestas a la pregunta 1
7

Usa has_category en su lugar.

if (has_category('',$post->ID)) ...

Si deseas usarlo dentro de The Loop, no necesitas especificar el ID.

if (has_category()) ...

2 ago 2011 20:34:46
Comentarios

Esto me está dando un error por alguna razón. El código que estoy usando es: <?php if (has_category()) { ?>Publicado en <?php the_category(', ') ?> | <?php } ?>. Es raro que esto cause un error porque estoy usando una sintaxis idéntica para la siguiente línea (<?php if (is_single()) { ?><a href="<?php comments_link(); ?>"><?php comments_number('0 Comentarios', '1 Comentario', '% Comentarios'); ?></a><?php } ?>) y eso se muestra bien.

daysrunaway daysrunaway
2 ago 2011 20:42:13

¿Estás ejecutando WordPress 3.1 o superior? has_category fue añadido en WP 3.1.

Otto Otto
2 ago 2011 22:15:38

No, estoy ejecutando WordPress 3.0.4; es para un sitio grande y mal diseñado que heredé de otro desarrollador, así que tengo miedo de actualizar por temor a romper algo.

daysrunaway daysrunaway
2 ago 2011 22:18:28

Bueno, ahí está tu problema. Prueba usando is_object_in_term( $post->ID, 'category') en su lugar. O mejor aún, actualiza. En serio, ejecutar código antiguo apesta.

Otto Otto
2 ago 2011 22:20:06

De acuerdo, simplemente no es una opción dado el tiempo asignado al proyecto.

daysrunaway daysrunaway
2 ago 2011 23:07:35

Esto se habría beneficiado de una explicación más detallada

JGallardo JGallardo
23 jun 2017 10:08:15

¿Qué más detalles necesitas? El nombre de la función es has_category() y respondió a la pregunta de la persona que la hizo.

Otto Otto
24 jun 2017 01:24:13
Mostrar los 2 comentarios restantes