Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Cómo mostrar / ocultar categorías en WordPress (Guía definitiva)

Nota editorial: Ganamos una comisión de los enlaces de socios en WPBeginner. Las comisiones no afectan a las opiniones o evaluaciones de nuestros editores. Más información sobre Proceso editorial.

¿Desea mostrar u ocultar una categoría en función de si tiene entradas en WordPress?

Por defecto, WordPress no muestra categorías vacías. Sin embargo, a veces puede querer mostrarlas aunque no tengan 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.

Show or hide empty categories in WordPress

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.

WPBeginner categories

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.

Category with no posts

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 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, usted puede mostrar sus categorías personalizadas mediante la adición del bloque shortcode a su área de widget y luego añadir el shortcode [custom_categories_list] dentro de ella.

Using shortcode to display custom list of categories

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.

Displaying empty category

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

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 y enlazar el enlace ‘Editar’ debajo de la categoría que quieres excluir.

Edit category

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”.

block search engines from indexing a category page in WordPress

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 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

Ahora que ya sabe cómo mostrar u ocultar categorías vacías en WordPress, puede que le interese ver otras guías relacionadas con las categorías en WordPress:

Esperamos que este artículo te haya ayudado a aprender cómo ocultar o mostrar categorías vacías en WordPress. También puedes consultar nuestra guía sobre cómo mostrar contenido personalizado a diferentes usuarios en WordPress y nuestra selección de los mejores plugins de WordPress para sitios web de empresas.

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.

Descargo: Nuestro contenido está apoyado por los lectores. Esto significa que si hace clic en algunos de nuestros enlaces, podemos ganar una comisión. Vea cómo se financia WPBeginner , por qué es importante, y cómo puede apoyarnos. Aquí está nuestro proceso editorial .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

El último kit de herramientas de WordPress

Obtenga acceso GRATUITO a nuestro kit de herramientas - una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Reader Interactions

11 comentariosDeja una respuesta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. MIke Dutton says

    I wonder if it possible to adapt this for Taxonomy terms. So only display something if a particular Taxonomy term has posts.

  3. randy says

    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!

    • Editorial Staff says

      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

  4. Enk. says

    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 says

      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

Deja tu comentario

Gracias por elegir dejar un comentario. Tenga en cuenta que todos los comentarios son moderados de acuerdo con nuestros política de comentarios, y su dirección de correo electrónico NO será publicada. Por favor, NO utilice palabras clave en el campo de nombre. Tengamos una conversación personal y significativa.