En ocasiones nos topamos con la necesidad de mostrar el listado de categorías de nuestros posts aunque no tengan posts. Debido a que el widget de Wordpress, por defecto solo muestra las categorías en las cuales existen publicaciones.
Como lo mencionaba al inicio, a veces, como desarrolladores nos surge la necesidad de mostrar todas las categorías sin importar que tengan posts asociados a esta, y si no estás familiarizado con Wordpress se vuelve una tarea tediosa editar widgets, pero no te preocupes. En este pequeño post, te mostraré una forma sencilla de hacerlo.
Para comenzar:
Lo unico que debes hacer es editar tu archivo functions.php o el archivo de funciones de tu template.
Agregaremos la función add_filter().
Parámetros
$ tag
( cadena ) (Obligatorio) El nombre del filtro al que enlazar la devolución de llamada $ function_to_add.
$ function_to_add
( invocable ) (obligatorio) La devolución de llamada que se ejecutará cuando se aplique el filtro.
$ prioridad
( int ) (Opcional) Se utiliza para especificar el orden en el que se ejecutan las funciones asociadas con una acción en particular. Los números más bajos se corresponden con la ejecución anterior y las funciones con la misma prioridad se ejecutan en el orden en que se agregaron a la acción.
Valor predeterminado: 10
$ aceptados_args
( int ) (Opcional) El número de argumentos que acepta la función.
Valor predeterminado: 1
Te recomiendo hechar un vistazo la documentación de esta función en https://developer.wordpress.org/reference/functions/add_filter/
Nuestra función queda de la siguiente forma:
add_filter( 'widget_categories_args', 'mostrar_categorias_vacias' ); function mostrar_categorias_vacias($cat_args) { $cat_args['hide_empty'] = 0; return $cat_args; }
¡Y listo!
Solo basta con agregar esa función para mostrar todas las categorías en el widget de categories de wordpress.
Gracias por leer este pequeño ejemplo. Si tienes alguna pregunta o sugerencia, no dudes en dejarla en los comentarios, me gustaría saber tu opinión.