Ir al contenido
Diegol, ir a la página de inicio
  • Blog
    • WooCommerce
    • Snippets para WooCommerce
    • Guías
    • Herramientas
    • eCommerce
    • SEO
    • WordPress
  • Cursos
  • Servicios
    • Mantenimiento WooCommerce
    • Tiendas online con WooCommerce
    • TPV físico para tu tienda
    • SEO para tiendas online
    • Publicidad en redes sociales
    • Desarrollo de páginas web
  • Sobre mí
  • Blog
    • WooCommerce
    • Snippets para WooCommerce
    • Guías
    • Herramientas
    • eCommerce
    • SEO
    • WordPress
  • Cursos
  • Servicios
    • Mantenimiento WooCommerce
    • Tiendas online con WooCommerce
    • TPV físico para tu tienda
    • SEO para tiendas online
    • Publicidad en redes sociales
    • Desarrollo de páginas web
  • Sobre mí
Buscar Contactar →

Snippets para Woocommerce

Añadir un segundo campo de texto en las Categorías de WooCommerce

Por Diegol

Actualizado el 15 de enero de 2022·4 min de lectura

Aprende en YouTubeSuscríbete gratis al canalYouTubeSígueme en LinkedInConsejos de eCommerce
Opciones de lectura
LucusHost, el mejor hosting

Una de las mejores prácticas para posicionar las categorías de productos en Google es añadirles texto para que haya más contenido semántico y abarquemos más búsquedas.

Por defecto en WooCommerce solo se puede añadir texto en un campo y siempre sale arriba, en este tutorial expliqué como ponerlo después del catálogo de productos para que no moleste. Si aplicaste este código y vas a usar este quita este último.

El problema de esta práctica es que ya no podríamos poner texto arriba del catálogo, como Google recomienda(aunque sea pequeño). Así que en este tutorial vamos a ver como crear un nuevo campo para poner texto tanto arriba como abajo del catálogo de WooCommerce sin plugins.

NewsletterLo mejor de WooCommerce, directo a tu emailTutoriales, snippets y estrategias para vender más con tu tienda online. Sin spam: te das de baja cuando quieras.

Mostrar textos arriba y abajo en las categorías

Añade este código a tu archivo functions.php de tu child theme o bien en tu plugin de funcionalidades como explico aquí:

// Mostrar el campo de texto cuando creas la categoría
 
add_action( 'product_cat_add_form_fields', 'dl_wc_anadir_editor_1', 10, 2 );
 
function dl_wc_anadir_editor_1() {
    ?>
    <div class="form-field">
        <label for="
					desc"><?php echo __( 'Descripción de abajo', 'woocommerce' ); ?></label>
       
      <?php
      $settings = array(
         'textarea_name' => 'seconddesc',
         'quicktags' => array( 'buttons' => 'em,strong,link' ),
         'tinymce' => array(
            'theme_advanced_buttons1' => 'bold,italic,strikethrough,separator,bullist,numlist,separator,blockquote,separator,justifyleft,justifycenter,justifyright,separator,link,unlink,separator,undo,redo,separator',
            'theme_advanced_buttons2' => '',
         ),
         'editor_css' => '<style>#wp-excerpt-editor-container .wp-editor-area{height:75px; width:80%;}</style>',
      );
 
      wp_editor( '', 'seconddesc', $settings );
      ?>
       
        <p class="description"><?php echo __( 'Este texto va en la zona de abajo de las categorías', 'woocommerce' ); ?></p>
    </div>
    <?php
}
 
// Mostrar el campo de editar texto en la edición de la categoría
 
add_action( 'product_cat_edit_form_fields', 'dl_wc_anadir_editor_2', 10, 2 );
 
function dl_wc_anadir_editor_2( $term ) {
    $second_desc = htmlspecialchars_decode( get_woocommerce_term_meta( $term->term_id, 'seconddesc', true ) );
    ?>
    <tr class="form-field">
        <th scope="row" valign="top"><label for="second-desc"><?php echo __( 'Descripción de abajo', 'woocommerce' ); ?></label></th>
        <td>
            <?php
          
         $settings = array(
            'textarea_name' => 'seconddesc',
            'quicktags' => array( 'buttons' => 'em,strong,link' ),
            'tinymce' => array(
               'theme_advanced_buttons1' => 'bold,italic,strikethrough,separator,bullist,numlist,separator,blockquote,separator,justifyleft,justifycenter,justifyright,separator,link,unlink,separator,undo,redo,separator',
               'theme_advanced_buttons2' => '',
            ),
            'editor_css' => '<style>#wp-excerpt-editor-container .wp-editor-area{height:125px; width:100%;}</style>',
         );
 
         wp_editor( $second_desc, 'seconddesc', $settings );
         ?>
       
            <p class="description"><?php echo __( 'Este texto va en la zona inferior de la categoría de productos', 'woocommerce' ); ?></p>
        </td>
    </tr>
    <?php
}
 
// Que se pueda guardar el contenido
 
add_action( 'edit_term', 'dl_wc_guardar_campo', 10, 3 );
add_action( 'created_term', 'dl_wc_guardar_campo', 10, 3 );
 
function dl_wc_guardar_campo( $term_id, $tt_id = '', $taxonomy = '' ) {
   if ( isset( $_POST['seconddesc'] ) && 'product_cat' === $taxonomy ) {
      update_woocommerce_term_meta( $term_id, 'seconddesc', esc_attr( $_POST['seconddesc'] ) );
   }
}
 
// Mostrar el texto en la categoría
 
add_action( 'woocommerce_after_shop_loop', 'dl_mostrar_desc_abajo_cat', 5 );
 
function dl_mostrar_desc_abajo_cat() {
   if ( is_product_taxonomy() ) {
      $term = get_queried_object();
      if ( $term && ! empty( get_woocommerce_term_meta( $term->term_id, 'seconddesc', true ) ) ) {
         echo '<p class="term-description">' . wc_format_content( htmlspecialchars_decode( get_woocommerce_term_meta( $term->term_id, 'seconddesc', true ) ) ) . '</p>';
      }
   }
}

Se que es extenso pero con esto conseguimos:

  • Crear un campo de texto editable para cada categoría tanto al crearla como editarla desde el propio panel de WordPress.
  • Que se guarde el contenido dentro del propio WordPress.
  • Mostrar la descripción nueva abajo, sin necesidad de tener que bajar la principal.

Así es como quedaría en tu panel para cada categoría:

mostrar dos campos de texto-en-las-categorias de woocommerce

Resolución

Sinceramente creo que esta funcionalidad debería de venir en el core de WooCoomerce, ya que en todas las tiendas que desarrollo lo incluyo. Te recuerdo también que mi servicio de diseño de tiendas online con WooCommerce lo incluyo por defecto.

¡Haz clic para puntuar esta entrada!
(Votos: 13 Promedio: 5)
Añade diegol.top como fuente preferida de Google.
Últimas noticias de actualidad para tu tienda online.
Add as preferred source on Google
Diegol
Escrito porDiegolEspecialista en Comercio electrónico con Woocommerce. Te ayudo a crear, gestionar y publicitar tu Ecommerce en función de tu sector y público objetivo. Puedes encontrarme en Diegol.topSobre míLinkedInYouTube
Newsletter¿Te ha sido útil? Recibe el próximo en tu emailTutoriales, snippets y estrategias para vender más con tu tienda online. Sin spam: te das de baja cuando quieras.

40 respuestas

  1. Arturo dice:
    marzo 18, 2020 a las 5:51 am

    Acabo de descubrir tu blog. No sabía que se podía hacer esto en WooCommerce tan fácil eres un crack!

    Responder
  2. Adriano dice:
    marzo 20, 2020 a las 3:02 am

    Que sencillo lo haces, tus post de snippets son una maravilla, gracias por compartirlo!

    Responder
  3. oscar dice:
    julio 10, 2020 a las 4:38 pm

    hola, estoy muy agradecido con este tutorial, lo tengo instalado y funciona perfecto hasta que actualizo a ultima version de wp no se si se podria actualizar el codigo para que funcione con las actualizaciones de wp.
    gracias.

    Responder
    1. Diegol dice:
      julio 12, 2020 a las 11:36 am

      Hola Oscar,

      Tiene que funcionar para cada actualización de WooCommerce, a no ser que cambien los hooks o su sistema. Lo suelo usar en muchas tiendas que he desarrollado y sigue funcionando.

      Si te dejó de funcionar quizás es porque has añadido una nueva funcionalidad que choca.

      Un saludo!

      Responder
  4. Guillermo dice:
    septiembre 24, 2020 a las 9:20 am

    Hola Diego,
    Magnífica explicación. El único problema es que solo me deja añadir texto debajo de las categorías y me gustaría también añadir algo arriba. ¿Cuál ha podido ser el problema? Saludo

    Responder
    1. Diegol dice:
      septiembre 24, 2020 a las 12:38 pm

      Gracias por tus palabras Guillermo.

      ¿Qué plantilla tienes? ¿O tienes otros snippets que lo hayan podido bloquear? Muchas veces esto lo bloquea.

      Un saludo

      Responder
  5. Ivan dice:
    octubre 12, 2020 a las 1:00 pm

    Genial como siempre, ya son algunos códigos que he utilizado de los que propones. ¡¡Y todos me funcionan genial!!

    Responder
  6. Pingback: [20] SEO en WooCommerce: Contenido(Parte 2) - Locos por Woo/Podcats de WooCommerce
  7. Mike dice:
    octubre 29, 2020 a las 7:10 am

    Buenos días, Diegol.
    Me ha venido genial tu código.
    Sabes cual puedes ser el motivo de que no se muestre el panel de diseño de contenido como en la descripción de abajo.
    Te adjunto captura:
    https://prnt.sc/v9669m

    Un saludo.

    Responder
    1. Diegol dice:
      octubre 29, 2020 a las 10:15 am

      Me alegro que te haya servido el código Mike!

      Por otro lado no sé a qué se deberá ese error. ¿te pasa solo al insertar el código? Porque si venía de antes debe de ser por rpoblemas de compatibilidad con la plantilla.

      Un saludo!

      Responder
  8. Mike dice:
    octubre 29, 2020 a las 2:50 pm

    Hola Diegol,
    Antes de introducir tu código, la zona de Descripción ya no mostraba ese campo que te comentaba.
    En fin, debe de ser problema del Theme GeneratePress que estoy utilizando.
    De todos modos, he tenido que quitarlo por que el código entraba en conflicto con el Plugin de Yith woocommerce ajax product filter.
    Enhorabuena por tu web, pinta muy bien la info que publicas 😉

    Responder
  9. Miguel dice:
    noviembre 16, 2020 a las 3:36 pm

    Hola Diegol.

    Gracias por tu ayuda.

    Mi problema es que es texto se va por debajo de las numeraciones de la paginación. ¿Es posible ponerlas por debajo de la paginación? Tengo el theme Astra.

    Un saludo,

    Responder
    1. Diegol dice:
      noviembre 16, 2020 a las 6:02 pm

      Hola Miguel,

      Problema común en Astra, debes cambiar esta parte del código final:

      // Mostrar el texto en la categoría

      add_action( 'woocommerce_after_shop_loop', 'dl_mostrar_desc_abajo_cat', 5 );

      function dl_mostrar_desc_abajo_cat() {
      if ( is_product_taxonomy() ) {
      $term = get_queried_object();
      if ( $term && ! empty( get_woocommerce_term_meta( $term->term_id, 'seconddesc', true ) ) ) {
      echo '

      ' . wc_format_content( htmlspecialchars_decode( get_woocommerce_term_meta( $term->term_id, 'seconddesc', true ) ) ) . '

      ';
      }
      }
      }

      Por esta:

      // Mostrar el texto en la categoría

      add_action( 'woocommerce_after_main_content', 'dl_mostrar_desc_abajo_cat', 5 );

      function dl_mostrar_desc_abajo_cat() {
      if ( is_product_taxonomy() ) {
      $term = get_queried_object();
      if ( $term && ! empty( get_woocommerce_term_meta( $term->term_id, 'seconddesc', true ) ) ) {
      echo '

      ' . wc_format_content( htmlspecialchars_decode( get_woocommerce_term_meta( $term->term_id, 'seconddesc', true ) ) ) . '

      ';
      }
      }
      }

      Con esto hemos cambiado la localización donde se ve el texto.

      Tendría que funcionarte,

      Un saludo!

      Responder
  10. Carlos dice:
    noviembre 23, 2020 a las 4:41 pm

    Diego,

    Ante todo gracias por este fantástico recurso! Es genial y soluciona mucho la vida.

    Pero tengo el mismo problema que el último comentario, y es que se va por debajo de las numeraciones de la paginación. He aplicado la solución que has dado en la respuesta del otro comentario, pero no me ha funcionado, no me aparece nada en el párrafo de abajo. Utilizo el theme «Ogami» , sabes porqué podría ser?

    Gracias!

    Un saludo

    Responder
    1. Diegol dice:
      noviembre 24, 2020 a las 11:09 am

      Hola Carlos,

      Muchas gracias por tu comentario.

      Si con el ajuste del último comentario no te funciona es que esa plantilla ha cambiado los ajustes de los hooks.No he trabajado nunca con esa plantilla así que no sabría decirte. Pídele al desarrollador que si te puede facilitar los hooks de las categorías para saber cual es y cambiarlo en el código.

      Otra solución no hay,

      Un saludo!

      Responder
  11. ModelWC dice:
    diciembre 1, 2020 a las 2:13 pm

    Hola Diego. Antes que nada muchas gracias por tu artículo es claro y directo ¡como debe ser!
    La cosa es que me gustaría hacer exactamente lo mismo pero en WordPress, es decir campos de texto en wordpress para añadir texto arriba y debajo en las categorías. Mi tema solo me da la opción disyuntiva de colocar el texto de la descripción arriba o abajo pero no en los dos sitios que es lo que a mi me gustaría. ¿Sería posible que hicieras un poco de magia en el código para mi? Muchas gracias.

    Responder
  12. Jesús dice:
    diciembre 21, 2020 a las 7:01 am

    ¡Hola! Yo lo he probado en la plantilla Ocean y va de cine. Muchas gracias por el aporte, de verdad.

    ¿Alguien sabe si el bloque de texto inferior se puede ajustar para que salga encima o debajo dela paginación (page-1, page-2, etc.)? A mí me sale encima y creo que quedaría mejor debajo para no molestar la navegación del usuario.

    ¡Gracias de nuevo y saludos!

    Responder
  13. Gaby dice:
    enero 12, 2021 a las 6:04 pm

    Gracias!!

    Responder
  14. Miguel dice:
    enero 20, 2021 a las 3:10 pm

    Muchas gracias por el aporte Diego! Estaba buscando cómo implementarlo sin tirar de plugins. Me guardo tu web en favoritos 😉

    He tenido problemas (no es Astra), pero modificando con lo que tienes en comentarios funciona perfectamente.

    Responder
    1. Diegol dice:
      enero 20, 2021 a las 4:01 pm

      Gracias por tu comentario Miguel, tendré que modificar el código base entonces!

      Un saludo!

      Responder
  15. Leo dice:
    enero 25, 2021 a las 2:14 pm

    Hola Diego, gracias por el aporte! Es posible hacer que la descripción de abajo no se repita en todas las páginas? Qué quede igual que la de arriba que sólo se ve en la primera hoja de la categoría.
    Gracias.

    Responder
    1. Diegol dice:
      enero 26, 2021 a las 11:50 am

      Hola Leo,

      En este caso el código que tengo varía dependiendo del tema y la configuración del mismo, es por esto que no hay uno estándar. Lo que puedes hacer es ponerlo con scroll infinito o bien cargar más. Igualmente Google a nivel de SEO ya tiene en cuenta esto de las páginas y prioriza la 1º.

      Un saludo!

      Responder
  16. Pedro dice:
    febrero 26, 2021 a las 9:16 am

    Vaya crack!! Muchas gracias, me va perfecto. Para hacer lo mismo con las etiquetas que es lo que habría que cambiar? Yo las utilizo también, y me gustaría poder ponerle el texto abajo y arriba. Muchas gracias de antemano!!!

    Responder
    1. Diegol dice:
      febrero 26, 2021 a las 10:28 pm

      Gracias Pedro, por supuesto aquí lo tienes también: como añadir un segundo texto a las etiquetas de WooCommerce

      Responder
  17. Miquel dice:
    marzo 16, 2021 a las 9:52 am

    ¡Muchísimas gracias por este recurso! Para no interferir mucho en lo que es el product grid de cada categoría tenía pensado hacerlo mediante textos deplegables utilizando wpbakery, por ejemplo. ¿Es posible hacerlo? Mediante tu función solo se permite añadir texto plano…

    Responder
    1. Diegol dice:
      marzo 16, 2021 a las 10:54 am

      Hola Miquel,

      Gracias por tu coemntario. Para que se pueda usar el Backery ahí sería meter su función de maquetación y requiere una personalización mayor. Puedes hablar con su soporte para hacerlo, que como no uso el Backery poco más se.

      Un saludo!

      Responder
  18. jc dice:
    abril 15, 2021 a las 6:31 pm

    Muchas gracias, es genial este aporte.
    Eternamente agradecido.

    Responder
  19. Leo dice:
    junio 7, 2021 a las 2:38 pm

    Excelente colaboración Diego!!!! Mil gracias por este código!!! Nos vino bárbaro para nuestra tienda. Un saludo !!!

    Responder
  20. Jorge dice:
    junio 17, 2021 a las 8:18 am

    Hola, esta solución se podría aplicar de alguna manera al resto de las categorías de wp? entradas, páginas, portfolio, etc.?
    La verdad es que sería muy útil.

    Gracias por la información

    Responder
    1. Diegol dice:
      junio 17, 2021 a las 9:26 am

      Hola Jorge,

      Esta función solo es para las categorías de WooCommerce.

      Un saludo!

      Responder
      1. Pedro dice:
        julio 23, 2021 a las 7:14 am

        Hola Diego,

        La verdad es que yo también estaría muy interesado en algo así. ¿No existe una función similar aplicable a los diferentes elementos de WordPress?

        ¡Muchas gracias!

        Saludos!

        Responder
  21. alberto dice:
    febrero 1, 2022 a las 3:54 pm

    Hola, se puede hacer con elementor? osea alguna forma ya sea codigo ccorto o algo para conectar ese campos descripcion2 en elementor?

    Responder
    1. Diegol dice:
      febrero 2, 2022 a las 7:29 am

      Hola Alberto,

      Sí, se podría hacer con un campo dinámico de advanced custom files por ejemplo o ya manualmente editar cada categoría manualmente.

      Un saludo!

      Responder
  22. Albert Canals dice:
    abril 27, 2022 a las 3:54 pm

    Hola Diego! genial este post! me ha ido fantástico!
    Una duda, se puede hacer en la página de la «tienda»; mi cliente también quiere poner un seguno texto al final de loop de productos, pero no veo la manera de hacerlo (no soy programador 🙁 )

    Responder
    1. Diegol dice:
      agosto 17, 2022 a las 4:58 pm

      Hola Albert,

      Disculpa la demora, pero no sabes la de consultas que tengo :/

      Subí ya un artículo: https://diegol.top/woocommerce/anadir-texto-arriba-o-abajo-en-la-pagina-de-tienda-de-woocommerce/

      Un saludo

      Responder
  23. Inés dice:
    julio 19, 2022 a las 3:19 pm

    ¡Genial tu aportación!

    Siempre son súper útiles tus posts.

    Una pequeña duda: ¿Se podría añadir algo en el código para que ese campo de texto cuente para Yoast Seo? He pasado las descripciones de las categorías para la zona inferior y me aparece como si no tuviera palabras en la descripción. ¿Cómo afecta este nuevo campo en el SEO? Si tienes categorías con gran volumen de productos, ¿te puede perjudicar que el texto esté en las últimas páginas de la categoría?

    ¡Muchas gracias!

    Responder
    1. Diegol dice:
      agosto 17, 2022 a las 4:44 pm

      Hola Inés,

      Google si lo lee, ya que está en el código de la web. En proyectos que llevo no penaliza, siempre es bueno poner el texto si ayuda a Google a entender lo que se está vendiendo en la categoría y si es útil para el usuario.

      Respecto a lo de Yoast es cierto que no lo lee ya que no está en su código, habría que crear otro snippet. De momento como no lo he necesitado no lo tengo, de hacerlo algún día lo añadiré al post.

      Espero que te haya servido,

      Un saludo!

      Responder
  24. Tania Izquierdo dice:
    septiembre 2, 2022 a las 2:16 am

    Mil gracias por este post, súper útil!!!

    Responder
  25. Ruben dice:
    diciembre 7, 2024 a las 4:42 pm

    Increíble!! Muchas gracias.

    Hay alguna forma de poner un color de fondo, en Divi, a la segunda descripción?

    Gracias

    Responder
    1. Diegol dice:
      julio 9, 2025 a las 4:59 pm

      Hola Rubén,

      En este caso, al no depender de un maquetador visial debe ser directamente por CSS

      Responder

Deja una respuesta Cancelar la respuesta

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

36  +    =  38

LucusHost, el mejor hosting

¿Hablamos de tu tienda online?

Cuéntame en qué punto está tu proyecto y te digo cómo puedo ayudarte a vender más con WooCommerce.

Pide tu consultoría →
Diegol, ir a la página de inicio

Consultor eCommerce especializado en WooCommerce. Ayudo a tiendas online a crecer con tecnología, SEO y publicidad, y comparto lo que sé en el blog y en YouTube.

YouTube · LinkedIn · WordPress.tv

Servicios

  • Mantenimiento WooCommerce
  • Tiendas online con WooCommerce
  • TPV físico para tu tienda
  • SEO para tiendas online
  • Publicidad en redes sociales
  • Desarrollo de páginas web
  • Todos los servicios

Aprende conmigo

  • Blog
  • Snippets para WooCommerce
  • Guías
  • Cursos en YouTube
  • Sobre mí

Legal

  • Aviso legal
  • Política de privacidad
  • Política de cookies
  • Contactar

© 2026 Diego Nieto · Consultor eCommerce

Web alojada en LucusHost

Busca entre más de 300 tutoriales, guías y snippets de WooCommerce.