Como hacer que aparezca la descripción de categoría en la página de tienda de WooCommerce

Hacer que aparezca el texto del contenido en la página de «Tienda» de WooCommerce para, por ejemplo, usarlo para el SEO es más fácil de lo que piensas. En este post súper rápido te explico cómo hacerlo sin morir en el intento.

Cada vez tendemos a poner más y más texto en nuestras webs para posicionar adecuadamente a nivel de SEO. Si tu plantilla de WordPress / WooCommerce no muestra por defecto el texto que pones en la página de «Tienda», hay una solución muy sencilla de hacer que aparezca. Te lo explico paso a paso a continuación:

Colocar el texto desde el functions.php de WordPress

Simplemente tienes que irte al archivo «functions.php» de la plantilla y pegar el código que te muestro más abajo (recuerda que puedes editarlo fácilmente desde «Apariencia > Editar» o hacerlo vía FTP, como te sea más cómodo). OJO: Estos cambios podrían desaparecer si actualizar la plantilla, por eso cuando vas a modificar un archivo de tu theme es súper recomendable crear un «child theme» y hacer los cambios en él. 

add_action( 'woocommerce_before_main_content', 'my_text', 20 );
function my_text() {
if( is_shop() ) {
do_action( 'woocommerce_archive_description' );  }
}

Fíjate que esto está adaptado para las necesidades del cliente que me lo pidió. En su caso quería que el texto apareciera ANTES de los productos. Por eso usamos un anclaje de «woocommerce_before_main_content» ¿Qué pasaría si queremos que aparezca después? Fácil, ponemos «woocommerce_after_main_content» en su lugar. En otras palabras: cambiamos «before» (antes) por «after» (después). Fácil ¿No?

Personalmente considero que detrás quedaría mejor, ya que no interfiere con la navegabilidad de la tienda. Sin embargo, el cliente lo quería poner delante y así se hizo. Supongo que va a depender mucho de la cantidad de texto que vaya a ponerse y de como queda con la plantilla.


Si tienes alguna duda, puedes dejármela en los comentarios. ¡Espero que te haya servido este minitutorial rápido!