Shortcode Il Mio Account WooCommerce
Sto utilizzando l'ultima versione di WordPress (4.9.2) e WooCommerce (3.2.6) e sto avendo problemi nel sovrascrivere il template Il Mio Account.
Ho creato un file nel mio tema:
theme-name/woocommerce/myaccount/my-account.php
Ho una pagina nel WP Admin con il post_content impostato a:
[woocommerce_my_account]
Tuttavia, quando apro il link http://example.com/en/my-account, viene mostrato il index.php predefinito.
Se inserisco il seguente codice nel mio index, riesco a vedere la pagina dell'account:
do_shortcode('[woocommerce_my_account]');
Mi sono anche assicurato che la mia pagina account WooCommerce sia impostata correttamente in WooCommerce > Impostazioni > Account > Pagina Il Mio Account.
Posso vedere nel body della pagina renderizzata che ha le seguenti classi:
page-template-default page page-id-8 logged-in desktop woocommerce-account woocommerce-page
Qualcuno sa perché non viene visualizzata correttamente la pagina?
quindi do_shortcode('[woocommerce_my_account]'); funziona in index.php mentre [woocommerce_my_account] non funziona nella normale pagina di wp admin.
hai provato a cercare il problema con la funzione the_content()? controlla se il loop è corretto nel file template del tuo tema.
Assicurati di aver verificato uno dei seguenti punti:
- Hai dichiarato il supporto al tema per WooCommerce nel tuo tema?
add_theme_support('woocommerce') - Nella dashboard, vai al sottomenu
statoall'interno del menuwoocommercee controlla il bloccosovrascritture templateper vedere se mostra il tuo template - Assicurati che nel template della tua pagina venga chiamato
the_content()all'interno del loop.
Grazie!
Credo che il tuo problema non sia correlato allo shortcode, al template della pagina o a index.php. Dovrebbe funzionare indipendentemente da questi.
Vedo che hai una configurazione multilingue. Dovresti verificare come WooCommerce interagisce con questa configurazione, poiché non è sempre semplice. La maggior parte dei plugin di traduzione (come WPML) include un plugin aggiuntivo che garantisce il corretto funzionamento di WooCommerce con loro.
Dovresti usare echo quando utilizzi do_shortcode. Modificalo in:
echo do_shortcode('[woocommerce_my_account]');
Puoi trovare maggiori informazioni su do_shortcode qui: https://developer.wordpress.org/reference/functions/do_shortcode/. Saluti!