¿Quieres mostrar u ocultar una categoría dependiendo de si tiene publicaciones en WordPress?
Por defecto, WordPress no muestra categorías vacías. Sin embargo, a veces es posible que desee mostrarlos incluso cuando no tienen contenido.
En este artículo, mostraremos formas fáciles de ocultar o mostrar una categoría solo si tiene publicaciones en WordPress.
¿Por qué ocultar o mostrar categorías vacías en WordPress?
WordPress viene con dos taxonomías, categorías y etiquetas predeterminadas. Mientras que las etiquetas se usan para temas específicos de un artículo, las categorías se usan en un sentido mucho más amplio.
Muchos sitios web usan categorías para crear diferentes secciones para su sitio web de WordPress. Por ejemplo, en AprenderWP tenemos diferentes categorías que cubren las secciones principales de nuestro contenido general.
De forma predeterminada, WordPress no muestra categorías vacías en widgets de categorías y listas de categorías. Sin embargo, es posible que algunos propietarios de sitios web aún necesiten mostrar categorías vacías en su blog de WordPress.
Por ejemplo, si están trabajando en un diseño de tema personalizado o si simplemente quieren que sus usuarios vean las categorías vacías y las llenen con contenido generado por el usuario.
Del mismo modo, es posible que algunos sitios web deseen ocultar ciertas categorías que no tienen publicaciones y mostrar otras categorías vacías.
En esta guía, le mostraremos cómo ocultar o mostrar fácilmente categorías vacías en WordPress.
Mostrar categorías vacías en WordPress
WordPress ha comenzado a utilizar los nuevos bloques de widgets en sustitución de los antiguos widgets clásicos. Esto hace que sea un poco difícil cambiar los parámetros utilizados por el bloque de categorías para enumerar categorías.
Para lograr el resultado deseado, necesitaremos escribir nuestro propio código para enumerar categorías y luego mostrarlo usando shortcode.
Para este tutorial, deberá agregar un código a su sitio web de WordPress. Si no lo ha hecho antes, consulte nuestra guía sobre cómo agregar fragmentos de código personalizados en WordPress.
Primero, debe agregar el siguiente código al archivo functions.php de su tema o un complemento específico del sitio.
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 usa nuestros propios parámetros para listar 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 agregando el bloque de shortcode a su área de widgets y luego agregando el [custom_categories_list] código abreviado dentro de él.
Una vez que haya terminado, no olvide Actualizar la configuración de sus widgets y visite su sitio web para verlo en acción.
Ocultar categorías específicas en su lista de categorías
De manera similar, puede usar el mismo enfoque para excluir categorías que no desea que se incluyan en la lista de categorías.
Simplemente modifique el código anterior de esta 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 agregando el parámetro de exclusión. Junto a él, debe proporcionar los ID de las categorías que desea ocultar.
Consejo: vea cómo encontrar ID de categoría en WordPress.
Ahora puede continuar y mostrar sus categorías personalizadas agregando el bloque de shortcode a su área de widgets y luego agregando el [custom_categories_list] código abreviado dentro de él.
Excluir páginas de categorías de los motores de búsqueda
Si está mostrando categorías vacías en su sitio web, es posible que desee excluirlas de los motores de búsqueda hasta que tenga algún contenido allí.
Algunos usuarios también pueden querer excluir algunas categorías del motor de búsqueda para evitar contenido duplicado y otros problemas de SEO.
Para ello, deberá instalar y activar el SEO todo en uno para WordPress enchufar. Para obtener más detalles, consulte nuestra guía paso a paso sobre cómo instalar un complemento de WordPress.
All in One SEO para WordPress es el mejor complemento SEO de WordPress en el mercado y le permite controlar fácilmente la apariencia de su sitio en los resultados de búsqueda.
Una vez que haya instalado el complemento, verá un asistente de configuración. Se explica por sí mismo, pero si necesita ayuda, siga nuestra guía sobre cómo configurar el tutorial All in One SEO.
A continuación, debe visitar el Publicaciones » Categorías y haga clic en el enlace ‘Editar’ debajo de la categoría que desea excluir.
En la página Editar categoría, debe desplazarse hacia abajo hasta la sección All in One SEO y cambiar a la pestaña Avanzado.
Desde aquí, debe desactivar la opción ‘Configuración predeterminada’ junto a la Configuración de robots. Ahora verá opciones para decirle a los motores de búsqueda que no sigan e indexen esta categoría.
Una vez que haya terminado, no olvide hacer clic en el botón ‘Actualizar’ para guardar su configuración.
All in One SEO ahora comenzará a decirles a los motores de búsqueda que no indexen o sigan esa página en particular.
Nota: Las publicaciones archivadas en esa categoría aún pueden ser indexadas por los motores de búsqueda y aparecerán en los resultados de búsqueda.
Esperamos que este artículo le haya ayudado a aprender cómo ocultar o mostrar categorías vacías en WordPress. También puede consultar nuestra guía sobre cómo mostrar contenido personalizado a diferentes usuarios en WordPress, y nuestra selección experta de los mejores complementos de WordPress para sitios web comerciales.