Jeff Chandler escribió una reseña en WPCandy de nuestro tema Nature Blog hace unos días. Una de las cosas que dijo en esta reseña fue lo siguiente:
No veo inmediatamente soporte para etiquetas, pero eso es algo que no sería muy difícil de agregar. Sin embargo, creo que las etiquetas deberían ser una cualidad predeterminada en los temas hoy en día, considerando que es tan simple como agregar esa función al tema.
No podría estar más de acuerdo, y desde esa reseña he intentado asegurarme de que todos los futuros lanzamientos de Theme Lab tengan soporte para etiquetas, además de trabajar en el soporte para etiquetas en lanzamientos de temas anteriores. En esta guía te enseñaré cómo agregar soporte para etiquetas a tus propios temas que quizás no lo tengan. Como dijo Jeff, es realmente "tan simple como agregar esa función al tema".
¿Qué es una etiqueta?
De acuerdo, si no sabes qué es una etiqueta y cuál es la diferencia entre una categoría y una etiqueta, lee el artículo Categorías versus Etiquetas en Lorelle on WordPress. No puedo explicarlas mejor que eso, así que dirígete allí si no estás seguro.
Listar etiquetas en el Loop
La función the_tags() es la función que se utiliza para mostrar las etiquetas dentro de el Loop, similar a las categorías. "Tomemos prestado" algo de código de mi tema favorito de WordPress de todos los tiempos, Kubrick (el predeterminado).
<?php the_tags('Etiquetas: ', ', ', '<br />'); ?>
Es un poco difícil leer los argumentos, pero el primer argumento es lo que se muestra antes (actualmente Etiquetas:, luego el separador de comas (entre cada etiqueta) y luego lo que viene después: el salto de línea. Debido a que el código de antes y después está incluido dentro de la función, no hay necesidad de formato HTML externo, por lo que no se mostrará nada si no tienes etiquetas en una publicación específica. Para rodear tus etiquetas con una etiqueta de párrafo en su lugar, harías esto:
<?php the_tags('<p>Etiquetas: ', ', ', '</p>'); ?>
Puedes colocar este código donde sea que haya un Loop, ya sea en tu Plantilla de Índice Principal (index.php) o en tu Plantilla de Publicación Única (single.php).
Agregar una nube de etiquetas en tu barra lateral
La función wp_tag_cloud es la que muestra la nube de etiquetas. Aquí tienes un ejemplo básico de una nube de etiquetas mostrada en una barra lateral.
<?php wp_tag_cloud('smallest=8&largest=22'); ?>
smallest y largest son tamaños de fuente. Colocar el siguiente código en tu barra lateral producirá algo como esto.
Por supuesto, puedes disminuir el tamaño de la fuente en el parámetro largest si crees que es demasiado grande. Una lista completa de parámetros se puede encontrar en la página wp_tag_cloud en el Codex.
Mostrar etiquetas como categorías en la barra lateral
Sé que hay algunos detractores de las nubes de etiquetas, así que si quieres mostrar las etiquetas en formato de lista, puedes agregar algunos parámetros a la función wp_tag_cloud para hacerlo.
<?php wp_tag_cloud('smallest=10&largest=10&format=list&unit=px'); ?>
Esto hará que las fuentes tengan el mismo tamaño (10px) y se formateen en una lista.
Conclusión
Si prefieres etiquetas a categorías, o junto con categorías y tu tema no lo soporta, espero que esto te haya resultado fácil de seguir. Hazme saber en los comentarios qué te pareció. Gracias de nuevo a Jeff por la inspiración para este tutorial.
¡brillante! Increíblemente útil. ¡Gracias!
@Hamish: Probablemente tendrías que crear una plantilla tag.php y simplemente eliminar todo en el bucle excepto los títulos de las publicaciones.
Lee este tutorial anterior aquí en Theme Lab, ya que puede ayudarte.
¡¡¡Publicación increíble!!! Estoy seguro de que esta información será útil.
Lo que estoy tratando de hacer es que WordPress simplemente muestre una lista de títulos de publicaciones cuando haces clic en una etiqueta, en lugar de las publicaciones completas... ¿Está esto estrechamente relacionado con esto?
Todo lo que he podido encontrar es este http://forum2.bytesforall.com/showthread.php?t=351, ¡pero no parece relevante para wordpress 2.7.1, o para el tema que estoy usando, una de las dos cosas!
Gracias por este maravilloso consejo. Tan pronto como actualicé a una versión reciente de Wordpress, el plugin que funcionaba con mi tema actual dejó de funcionar para mostrar las etiquetas. Estaba muy decepcionado y no pude encontrar ningún plugin que fuera compatible con la versión de WP. Por suerte me encontré con tu publicación y esto resolvió mi problema. Gracias una vez más.
@Meredith: Bueno, si quieres que las etiquetas se listen en una página de publicación individual, por ejemplo, pondrías el siguiente código en tu archivo single.php.
<?php the_tags('<p>Etiquetas: ', ', ', '</p>'); ?>Esto mostrará los enlaces a las páginas de etiquetas, que asignaste a una publicación específica en el menú de escritura.
¿Es esto de lo que estabas hablando?
Resulta que mi tema estaba muy desactualizado. Mostraba categorías, pero no etiquetas, incluso con el código agregado. No recuerdo qué hice en ese momento para que funcionara, pero ya está funcionando. ¡Gracias por la ayuda!
Todavía no he descubierto cómo hacer que las etiquetas se muestren en mi blog. He puesto el código que has listado en el lugar apropiado. Me pregunto si primero necesito agregar esa función de la que estás hablando (the_tags()), pero no tengo idea de dónde o cómo hacerlo. Cualquier ayuda es apreciada.
[…] el tema tiene una barra lateral completamente con widgets, incluyendo una barra de búsqueda y un calendario con estilo, así como soporte para etiquetas y soporte para Gravatar de comentarios (WordPress 2.5+ […]
Gracias por esta publicación y tu simple explicación, pude implementarla en mi blog. Por favor, visita mi blog para verlo.
Gracias, eso ayudó mucho. Estaba buscando una solución para simplemente listar las etiquetas.
<?php the_tags(‘Etiquetas: ‘, ‘, ‘, ”); ?>
Lo puse en mi blog y parece que funciona, veo mis etiquetas, hago clic en ellas y llego a otras secciones del sitio, lo cual es genial, pero muchas de mis etiquetas no funcionan y me llevan a la página 404 del blog, diciendo que el término de búsqueda no se encontró. ¿Alguna idea?
Me interesa cambiar la palabra ‘Etiquetas’ por una imagen, pero he tenido problemas para obtener la sintaxis correcta. Actualmente lo cambié a esto, pero aparece una ‘,’ antes de la primera etiqueta.
Código original:
<?php the_tags('<p>Etiquetas: ', ', ', '</p>'); ?>Código nuevo – 1er intento (genera un error de análisis):
<?php the_tags('<p><img alt="Etiquetas" src="', get_bloginfo('stylesheet_directory')',/images/icon-tags.gif" /> ', ', ', '</p>'); ?>Código nuevo – 2do intento (tiene una ',' antes de la 1ª etiqueta):
<p><img alt="Etiquetas" src="<?php echo get_bloginfo('stylesheet_directory') ?>/images/icon-tags.gif" /> <?php the_tags(', ') ?></p>Creo que la primera forma en que lo intenté es la mejor manera de escribir el código, sin embargo, parece que mi sintaxis es incorrecta para el src de la imagen (por ejemplo, no estoy escapando correctamente dentro y fuera de php). Cualquier ayuda sería muy apreciada.
Saludos,
Brian
¿Lograste algo con esto, Brian? Tengo el mismo problema.
@Nora: ¿Qué es exactamente lo que no funcionó?
no me funcionó 🙁
¡EI MAN! gracias por las publicaciones...
tus publicaciones sobre gravatar y esta realmente me ayudaron a resolver mi problema con el nuevo tema que creé.
¡REALMENTE GENIAL!
Gracias por publicar instrucciones fáciles para nosotros los “haters de la nube de etiquetas”. 🙂
[…] aquí en Theme Lab, incluyendo soporte de Gravatar para comentarios, una barra lateral lista para widgets y soporte nativo de etiquetas de WordPress. Este tema también está listo para anuncios de 125×125, que se pueden editar a través de sidebar.php […]
[…] Este tiene todas las características habituales, incluyendo soporte nativo de Gravatar (solo WordPress 2.5+), soporte de etiquetas y una barra lateral lista para widgets. También tiene una plantilla especial para la página de inicio con 3 áreas para colocar tu […]
¡Gracias! No podía hacer que apareciera una nube de etiquetas en mi tema y era extremadamente frustrante. Después de leer esta publicación, ¡lo logré!
@Menno: No estoy seguro de que las categorías y las etiquetas se puedan combinar. Puede que haya un plugin que pueda hacer esto, pero no estoy seguro.
Oye Leland, genial. ¿Sabes también cómo agregar categorías dentro de un código de nube de etiquetas?
Yo uso este código:
Y me gustaría mostrar también todas las categorías.
¡Gracias de antemano!
¿Hay alguna forma de agregar etiquetas a los "comentarios" enviados – (¿no a las publicaciones o páginas?)
Gracias
@Sue: No creo que esta función esté presente en WordPress. Puede que haya algún plugin que pueda hacerlo, pero no conozco ninguno.
Gracias Jeff, me alegra que te haya gustado.
Genial, me alegra verte aceptando la oferta. Ahora, para que la gente se una al carro del soporte de impresión integrado con estos temas. Por cierto, buen trabajo en las diversas explicaciones descritas anteriormente.
¡Gracias Adam!
¡Tienes una habilidad para explicaciones claras y concisas! Gran publicación :)