Listar categorías en WordPress

WordPress es muy completo y trae gran cantidad de funciones que si uno no se fija puede prescindir de ellas y perder tiempo reinventando la rueda.

Una tarea bastante común es armar un menú de opciones con las distintas categorías del sitio. Para ello, se puede utilizar la función wp_list_categories que lo que hace es mostrar cada una de ellas con su respectivo enlace. Si el usuario hace click en una categoría, se carga la plantilla determinada para esa categoría y se muestran las entradas que contiene. Esto, por supuesto, si se ha hecho una plantilla para cada categoría.

Pero lo interesante es analizar la función wp_list_categories que trae unas cuantas opciones para tener en cuenta. La forma de pasarle las opciones las pueden ver en el siguiente ejemplo.

$args es un array asociativo donde las claves son los distintas opciones que se pueden configurar. Luego de definirlos, se invoca a la función pasando por parámetro el array. En este caso, estamos armando un menú donde el primer elemento es un link a la página principal del sitio y el resto son las distintas categorías.

Vamos a analizar las principales opciones que se puede configurar de wp_list_categories.

  • orderby: Determina el orden en que se mostrarán las categorías. Se puede hacer por id con ID; por nombre con ‘name’; por slug con ‘slug’; o por la cantidad de posts en esa categoría utilizando ‘count’. Si no se especifica nada, ordena por nombre de categoría.
  • style: Define la forma en que se verá la lista: list o none. El primero encierra las categorías entre <li></li>, pero ¡Atención! No agrega por fuera el <ul></ul>. Si se fijan en el ejemplo, el <ul> está puesto por fuera de forma manual. La opción none separa las categorías con saltos <br />
  • title_li: Con true, se mostrará la estructura encerrada por un <li> de clase categories y dentro un <ul> que a su vez contiene las categorías cada una en un <li>. ¿Complicado no? Tiene utilidad si no queremos darle nuestra propia estructura al menú. En mi caso, yo siempre quiero darle así que pongo false en esta opción.
  • show_count: true si se quiere mostrar el número de entradas para esa categoría, false si no se quiere mostrar nada.
  • hide_empty: Con true esta opción oculta la categoría que no tiene posts. Con false, la muestra de todas formas.
  • hierarchical: Si es true, muestra las categorías en forma jerárquica en caso de que alguna se hija de otra. Si es false, no.

Esas son las opciones principales, pero hay otras que pueden llegar a servir. Si alguna no la especifiqué en el ejemplo es porque por defecto viene configurada como yo lo deseo. Fíjense eso, porque no hace falta ponerlas todas si una opción ya viene como queremos.

Para saber más sobre esto, hay que ira  a Codex, donde está toda la documentación de WordPress que debiera ser siempre el primer lugar de consulta para todo programador de este CMS. En este caso, hay que buscar la función wp_list_categories.

Soy programador web y me desempeño como Líder Técnico en Polar Bear Development. Trabajo con tecnologías como PHP, Javascript, MySQL y HTML5 para el desarrollo de sitios y sistemas web. Me especializo en Zend Framework 2 y otros frameworks MVC, como también en WordPress y otros CMS. Lidero equipos de desarrolladores trabajando con Scrum. Vivo en Buenos Aires, Argentina.
 

6 thoughts on “Listar categorías en WordPress

  1. Hola, gracias por tu aporte. Pero me gustaría si no es molestia por tu parte. Si tu me puedes decir como muestro “solo una categoría”.
    Lo que quiero hacer es mostrar solo una categoría de enlaces con sus enlaces correspondientes. Y no encuentro la forma de hacerlo. Siempre muestro toda la lista de enlaces.
    Gracias.

  2. Tenés que usar la función query_posts. En la documentación oficial de WordPress vas a encontrar mucha información al respecto y también algunos ejemplos muy claros. Te dejo el enlace en el que habla particularmente del tema categorías: query_posts

  3. Esteban

    Debés tener acceso a los archivos. Si estás trabajando en un ambiente de pruebas en tu PC, es tan simple como acceder al directorio donde está el proyecto y abrir el archivo que necesites. Si estás trabajando a través de internet, entonces es necesario tener una conexión vía FTP para poder hacer esto mismo.

    Saludos

  4. Muy buen ejemplo(Es funcional), me sirvio para iniciar y darme una idea de como ordenar los Post por categorias.

    Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


*