Por defecto, WordPress no muestra las categorías que están vacías, es decir, las que no tienen entradas. Sin embargo, hay ocasiones en las que puede querer mostrar estas categorías, como cuando planea añadir entradas pronto o quiere mantener la consistencia visual de su sitio.
Hemos estado creando contenido para WPBeginner desde 2009, y ya no tenemos categorías vacías. Pero entendemos que personalizar cómo se muestran las categorías puede mejorar la experiencia del usuario y la forma en que tus lectores interactúan con tu contenido.
En este artículo, le mostraremos algunas formas sencillas de ocultar o mostrar una categoría en WordPress, dependiendo de si tiene alguna entrada.
Por qué ocultar o mostrar categorías vacías en WordPress
WordPress viene con dos taxonomías por defecto: categorías y etiquetas. Mientras que las etiquetas se utilizan para debates específicos de un artículo, las categorías se utilizan en un sentido mucho más amplio.
Muchos propietarios de sitios utilizan categorías para crear diferentes secciones para sus sitios web de WordPress.
Por ejemplo, en WPBeginner, tenemos diferentes categorías que cubren las principales secciones de nuestro contenido general.
Por defecto, WordPress no muestra categorías vacías en los widgets de categorías y en las fichas de categorías.
Sin embargo, algunos propietarios de sitios web pueden seguir necesitando mostrar categorías vacías en sus blogs de WordPress.
Por ejemplo, si están trabajando en el diseño de un tema personalizado o si simplemente quieren que sus usuarios vean las categorías vacías y las llenen de contenido generado por los usuarios.
Del mismo modo, algunos sitios web pueden querer ocultar ciertas categorías que no tienen entradas mientras siguen mostrando otras categorías vacías.
En esta guía, le mostraremos cómo ocultar o mostrar fácilmente categorías vacías en WordPress.
Cómo mostrar categorías vacías en WordPress
WordPress utiliza ahora bloques de widgets para sustituir a los antiguos widgets clásicos. Esto hace que sea un poco más difícil cambiar los parámetros utilizados por el bloque de categorías para listar las categorías.
Para lograr el resultado deseado, tendremos que escribir nuestro propio código para listar las categorías y luego mostrarlo utilizando un shortcode.
Para este tutorial, necesitará añadir algún código a su sitio web WordPress. Si no lo ha hecho antes, consulte nuestra guía sobre cómo añadir fragmentos de código personalizados en WordPress.
En primer lugar, debe añadir el siguiente código al archivo functions. php de su tema de WordPress o añadir el fragmento de código utilizando WPCode (recomendado).
Para obtener instrucciones detalladas, consulte nuestra guía sobre cómo añadir fácilmente código personalizado en WordPress.
function wpb_list_categories() {
// define category list parameneters
$args = array (
'echo' => false,
'title_li' => '',
'hide_empty' => 0
);
// get categories list
$display_cats = wp_list_categories($args);
//display custom categories list
return $display_cats;
}
// create shortcode
add_shortcode('custom_categories_list','wpb_list_categories');
Este código simplemente utiliza nuestros propios parámetros para listar las categorías, y uno de estos parámetros es cambiar el parámetro de categoría hide_empty
.
Después de eso, puede mostrar sus categorías personalizadas añadiendo el bloque shortcode a su barra lateral u otra área de widget y luego añadiendo el shortcode [custom_categories_list]
dentro de él.
Una vez que hayas terminado, no olvides actualizar los ajustes de tus widgets.
A continuación, puede visitar su sitio web para ver las categorías en acción.
Ocultar categorías específicas en su ficha de categoría
Del mismo modo, puede utilizar el mismo método para excluir categorías que no desee incluir en el anuncio / catálogo / ficha.
Basta con modificar el código anterior de la siguiente manera:
function wpb_list_categories() {
// define category list parameneters
$args = array (
'echo' => false,
'title_li' => '',
'exclude' => '12,16,21',
'hide_empty' => 0
);
// get categories list
$display_cats = wp_list_categories($args);
//display custom categories list
return $display_cats;
}
// create shortcode
add_shortcode('custom_categories_list','wpb_list_categories');
En este código, hemos ocultado las categorías añadiendo el parámetro de exclusión. A continuación, debe proporcionar los ID de las categorías que desea ocultar.
Consejo: Hemos escrito una guía que le muestra cómo encontrar los ID de categoría en WordPress.
Ahora puede seguir adelante y mostrar sus categorías personalizadas añadiendo el bloque shortcode a su área de widget y luego añadiendo el shortcode [custom_categories_list]
dentro de él.
Excluir páginas de categoría de los motores de búsqueda
Si muestra categorías vacías en su sitio web, puede excluirlas de los motores de búsqueda hasta que tenga algún contenido en ellas.
Algunos usuarios también pueden querer excluir algunas categorías de los motores de búsqueda para evitar el contenido duplicado y otros problemas de SEO.
Para ello, deberá instalar y activar el plugin All in One SEO para WordPress. Para más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.
All in One SEO para WordPress es el mejor plugin SEO para WordPress del mercado y le permite controlar fácilmente la aparición de su sitio en los resultados de búsqueda.
Una vez que haya instalado el plugin, verá un asistente de configuración. Se explica por sí mismo, pero si necesitas ayuda, sigue nuestra guía para establecer All in One SEO.
A continuación, tienes que visitar la página Entradas ” Categorías en tu escritorio de WordPress y enlazar el enlace ‘Editar’ debajo de la categoría que quieres excluir.
En la página Editar categoría, debe desplazarse hasta la sección SEO Todo en uno.
A continuación, vaya a la pestaña “Avanzado”.
A partir de aquí, deberá desactivar la opción “Ajustes por defecto” situada junto a la configuración de Robots. Ahora verá opciones para indicar a los motores de búsqueda que no sigan ni indexen esta categoría.
Una vez que hayas terminado, no olvides hacer clic en el botón “Actualizar” para guardar tus ajustes.
All in One SEO comenzará a decirle a los motores de búsqueda que no indexen o sigan esa página en particular.
Nota: las entradas de WordPress archivadas en esa categoría pueden seguir siendo indexadas por los motores de búsqueda y aparecerán en los resultados de búsqueda.
Guías de expertos sobre las categorías de WordPress
Esperamos que este artículo te haya ayudado a aprender cómo ocultar o mostrar categorías vacías en WordPress. Puede que también quieras ver otros tutoriales de WordPress relacionados con las categorías:
- Glosario Categoría
- Glosario: Taxonomía
- Cómo añadir categorías y subcategorías en WordPress
- Categorías frente a etiquetas – Mejores prácticas SEO para clasificar su contenido
- Cómo añadir categorías y etiquetas a las páginas de WordPress
- Cómo añadir categorías a un tipo de contenido personalizado en WordPress
- Cómo cambiar, mover y borrar correctamente las categorías de WordPress
- Cómo cambiar el estilo de las categorías individuales en WordPress
- Cómo imponer una categoría por entrada en WordPress
- Cómo cambiar el nombre de la categoría Sin categoría en WordPress
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
MIke Dutton
I wonder if it possible to adapt this for Taxonomy terms. So only display something if a particular Taxonomy term has posts.
randy
OMG so helpful for running and if statement to see if there are posts in a category, regular post type or custom post type. Many thanks!
John Hartley
Easiest example I found anywhere…saved me some heartache, so thanks!
michelle
really useful, thanks. I have placed a link back to this on my own blog so that I can share it with others
Editorial Staff
Thanks Michelle
Administrador
Luke Jones
Excuse me if I’m wrong but doesn’t it do this already in the most recent versions?
Editorial Staff
Read the first two lines of the post. We already mention that using the wp-list-cats, yes it does, but if you are doing some more customization and need it hard coded without calling a function, then this is the way you will go.
Administrador
Enk.
It seems interesting but I seriously didn’t understand it. When we can name/rename a category from news to Blog. Whats the thing else than showing only if it has posts? *confused :s
Editorial Staff
This is only for very customized settings, but it is still good to know for those who does not. Yes you can rename a category, but how many times. If you have 7 custom page templates where you want to call one category 7 different names, then how would you go about it. For Sales / Splash pages, this will help.
Administrador
Enk.
ah thanks, now I can say its pretty useful. Thanks a ton !