Shortcode de Mi Cuenta en WooCommerce
Estoy ejecutando la última versión de WordPress (4.9.2) y WooCommerce (3.2.6) y estoy teniendo problemas para sobrescribir la plantilla de Mi Cuenta
.
He creado un archivo en mi tema:
theme-name/woocommerce/myaccount/my-account.php
Tengo una página en mi WP Admin
con el post_content
configurado como:
[woocommerce_my_account]
Sin embargo, cuando abro el enlace, http://example.com/en/my-account
, está mostrando el index.php
predeterminado.
Si pongo el siguiente código en mi index, puedo ver la página de cuenta:
do_shortcode('[woocommerce_my_account]');
También me he asegurado de que mi página de cuenta de WooCommerce está configurada correctamente en WooCommerce > Ajustes > Cuenta > Página Mi Cuenta.
Puedo ver en el body de la página renderizada que tiene las siguientes clases
page-template-default page page-id-8 logged-in desktop woocommerce-account woocommerce-page
¿Alguien sabe por qué no se está mostrando la página correctamente?

entonces do_shortcode('[woocommerce_my_account]');
funciona en index.php pero [woocommerce_my_account]
no funciona en la página normal de wp admin
.
¿has intentado buscar el problema con la función the_content()
? verifica si el bucle es correcto en el archivo de plantilla de tu tema.

Por favor, asegúrate de haber verificado uno de los siguientes puntos:
- ¿Has declarado el soporte para WooCommerce en tu tema?
add_theme_support('woocommerce')
- En el panel de control, ve al submenú
estado
dentro del menúwoocommerce
y verifica en el bloquesobreescrituras de plantillas
si aparece tu plantilla. - Asegúrate de que en la plantilla de tu página se esté llamando a
the_content()
dentro del bucle.
¡Gracias!

Creo que tu problema no está relacionado con el shortcode, la plantilla de página o el index.php. Debería funcionar independientemente.
Veo que tienes una configuración multilingüe. Deberías investigar cómo funciona WooCommerce con esto, ya que no siempre es sencillo. La mayoría de los plugins de traducción (como WPML) tienen plugins auxiliares especiales que aseguran que WooCommerce funcione correctamente con ellos.

Debes usar echo cuando utilices do_shortcode
. Cámbialo a:
echo do_shortcode('[woocommerce_my_account]');
Puedes consultar más información sobre do_shortcode
aquí: https://developer.wordpress.org/reference/functions/do_shortcode/. ¡Saludos!
