Cerca
Generic filters
Frase esatta
Cerca nel titolo
Cerca nel contenuto
Filter by Custom Post Type
Filter by Categorie
Quick Snippets
Guide e Tutorial Joomla
Guide e Tutorial Wordpress
Notizie
Programmazione Web
Trucchi e Guide Apple Mac OS
Filtra per Tags
Seleziona / Seleziona tutti
acf
action
aggiornamento joomla
aggiornamento virtuemart
aggiungere campi
akeeba
amazon s3
amazon web services
angularjs
apache
aruba
autopost
aws
backup
backup buddy
blocksit.js
bootstrap
bordi arrotondati
cache
caching
campi personalizzati
captcha recaptcha
cf7
chronoforms
cloud
compressione file
compressione immagini
conditional fields
contact form 7
countdown
cpt
css
css framework
css3
custom post type
custom registration
data di nascita
debug
disegni
downgrade
draw
ec2
endpoints
ergonet
font awesome
font custom
fontweb
form
front end
ftp
functions.php
funzioni
glyphicons
google
hook
hosting
hosts
html
html5
image optim
javascript
joomla
joomla api
joomla development
joomla festival
joomla lombardia
joomla update
jquery
k2
lightbox
login
mac
mac os
mamp
metabox
mobile friendly
multilingua
mysql
news
ottimizzazione
ottimizzazione immagini
override
password
pdf
php
plugin
qtranslate
redis
registrazione
registrazione utente
responsive
restore
ripristino
roolback
rounded tables
select
seo
server php locale
shortcode
shortpixel
sicurezza
smau
social
spotlight
SSL
system cache
table
template
tooltips
trasferimento sito
trucchi
twitter
ubuntu
uikit
user meta
visio alternative
web advisor
widget
widgetkit
windows
woocommerce
wordpress
wordpress api
wp capability
wp user
wp-config.php
wp_query
wug
xampp
yootheme

Come personalizzare la pagina account di WooCommerce aggiungendo un nuovo endpoint

Contenuto mancante

1- Disabilità ADS Block e ricarica la pagina

2- Ricarica la pagina

Prima di tutto spieghiamo cosa sono gli endpoints, giusto per fare un esempio di endpoints in tema WooCommerce sono quelli che troviamo sotto le impostazioni account.

Ogni endpoint esegue una specifica funzione; in questo articolo spiego come creare dei nuovi endpoints ed eseguire del codice PHP al loro interno o più semplicemente un contenuto.

woocommerce endpoints

Come creare un endpoint in WooCommerce

Poniamo di voler creare la pagina “Resi” con al suo interno un form per la compilazione dell’RMA, cosa che di default WooCommerce non gestisce, andiamo quindi ad implementarla da noi.

Per prima cosa scriviamo una funzione che va ad aggiungere nella pagina account, dove sono già presenti gli altri endpoints link, il nostro nuovo endpoint.

Contenuto mancante

1- Disabilità ADS Block e ricarica la pagina

2- Ricarica la pagina

Ora è necessario creare il permalink, scriviamo quindi un’altra funzione in questo modo

Fate attenzione a ciò che scrivete qui, infatti “resi” è lo slug della pagina, ricordiamocelo perchè ci servirà nella prossima funzione.

A questo punto abbiamo creato la nostra nuova pagina che si chiama Resi, come facciamo a metterci un contenuto ?

Aggiungiamo un’azione in questo modo

Prestare molta attenzione alla parte in grassetto woocommerce_account_resi_endpoint , infatti è necessario inserire lo slug che abbiamo utilizzato in precedenza altrimenti il contenuto non si vedrà

Eseguiamo un controllo sull’esistenza dell’endpoint

Il risultato è il seguente.

Nel mio caso ho eseguito uno shortcode per incorporare il form di reso WooCommerce realizzato con CF7 in questo modo : echo do_shortcode(‘[contact-form-7 404 "Not Found"]‘);

personalizzare pagina account woocommerce

 

 

19 commenti su “Come personalizzare la pagina account di WooCommerce aggiungendo un nuovo endpoint

  1. Buongiorno,
    per prima cosa la ringrazio per la condivisione del codice, Pur essendo un novizio sono riuscito ad implementarlo nel mio sito senza difficoltà.

    Anche io devo visualizzare una Form tramite uno shortcode echo do_shortcode(‘[ninja_form id=4]‘); e questo è l’unico passaggio che non riesco a far funzionare. Non mi visualizza il contenuto. Premetto che non ho modificato ancora il codice è ho fatto un puro copia/incolla di quello proposto.

    Altra informazione. è possibile ordinare diversamente le pagine degli Endpoints in modo che quella aggiunta non sia l’ultima dell’elenco? Vorrei far rimare ultima quella del logout.

    Grazie in anticipo per il supporto.
    Max

    • Buonasera Max,
      va applicato un filtro, ecco un esempio:

      function woo_endpoints_custom_order() {
      $args = array(
      'resi' => __( 'Resi', 'woocommerce' ),
      'edit-account' => __( 'Change My Details', 'woocommerce' ),
      'dashboard' => __( 'Dashboard', 'woocommerce' ),
      'orders' => __( 'Orders', 'woocommerce' ),
      'edit-address' => __( 'Addresses', 'woocommerce' ),
      'payment-methods' => __( 'Payment Methods', 'woocommerce' ),
      'customer-logout' => __( 'Logout', 'woocommerce' ),
      );
      return $args;
      }
      add_filter ( 'woocommerce_account_menu_items', 'woo_endpoints_custom_order' );

      Per il form non saprei, dovrei vederlo, ha scritto correttamente la parte php che richiama lo shortcode ? Se lo shortcode lo inserisce in una pagina il form si vede ?

  2. Buongiorno Alessandro,
    quello che ho postato è l’intero codice del file functions.php del tema child del sito.

    Se mi dici cosa può esserti utile e dove prenderlo lo posto

    Max

  3. Credo di non capire.
    Quello che ho fatto è stato inserire il suo codice all’interno del file functions, nulla di più ed è quello che ho condiviso prima.
    Lo shortcode invece è stato generato direttamente dal plugin ninja form.
    Ho sbagliato procedura?

    Max

    • Buonasera Max,

      le ho chiesto il codice intero perchè non avendo davanti il tema in uso non posso fare il debug, ad ogni modo se ha fatto un semplice copia ed incolla del mio e non funziona, i problemi posso essere diversi, andrebbe fatto il debug per capire il motivo del malfunzionamento.

      Quello che posso fare è offrirle una consulenza di un paio d’ore per fare il debug e capire se vi sono errori, purtroppo così a distanza in questo caso mi viene difficile aiutarla.

  4. Salve, ho riportato il codice così come è scritto qui.
    Tutto è andato per il meglio.
    L’endpoint è stato creato alla perfezione.
    Unico problema è che cliccando sul link mi porta alla pagina 404
    quindi penso che il comando

    add_action( ‘woocommerce_account_resi_endpoint’, function(){
    echo ‘Il mio contenuto qui’;
    } );
    Sia un po da riguardare.. perché a quanto pare o l’echo non fa bene il suo lavoro o non viene creata la pagina dal comando precedente.

    • Salve Stefano,

      l’echo non ha nulla a che vedere con il 404….

      E’ sufficiente andare nelle impostazioni dei permalink, cambiare impostazioni e salvare, poi rimettere quelle precedenti e risalvare, il problema sparirà.

  5. ciao Alessio

    io sto provando ad inserire il Codice Fiscale come endpoint in quanto mi serve che questo dato venga inserito per dare la possibilità al cliente di fare degli acquisti speciali. Chiaramente se mi ha fornito questo dato mi piacerebbe non richiederlo nuovamente ma averlo nella my account del cliente. Non capisco come farlo, io ho inserito questo codice

    premetto che uso il page builder Elementor

    https://codeshare.io/GkNMWA

    grazie

    antonio

  6. ciao Alessio

    grazie per la risposta. Ma probabilmente mi sono spiegato male. Io vorrei avere anche nella pagine my account la voce Codice Fiscale

    in questo modo invece ho solo il campo codice fiscale nel checkout

    come posso farlo?

    grazie

    antonio

Commenta l'articolo

Bisogno di postare codice ? Usa un servizio gratuito come Codeshare altrimenti WordPress formatta male il codice!

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Pin It on Pinterest

Condividi l'articolo. Grazie.

Vuoi essere aggiornato ?