Filtra la ricerca ...
Frase esatta
Categorie

Come inserire marker multipli su Google Maps con ACF

Ciao e benvenuto. Se hai bisogno di chiarimenti sul codice, lascia un commento (no WhatsApp); ricorda però che non fornisco assistenza gratuita sugli articoli che ho scritto nè personalizzo il codice in modo gratuito, quindi se la tua richiesta va oltre il semplice "aiutino", se vuoi mi chiedi una consulenza a pagamento nella pagina contatti. Grazie della comprensione. Alessio

Sto lavorando ad un progetto molto carino su WordPress, appena terminato scriverò un articolo interamente dedicato perchè secondo me ha del potenziale, ma non vi dico altro, vi lascio la pulce nell’orecchio, vi dico solo è che sul mondo di WordPress 🙂

ACF markers multipli su Google MapsPer questo progetto sto utilizzando molto ACF Advanced Custom Fields Pro, un plugin che permette di aggiungere i campi aggiuntivi a pagine, articoli e custom post type di WordPress, personalizzandoli a piacimento.

In questo articolo spiego come inserire più di un marker sulla mappa di Google; in buona sostanza creo un array con tutte le entry degli indirizzi di Google Maps e poi con un ciclo PHP faccio un echo sulla mappa, parlo un’altro lingua ? Bene! Con un esempio pratico è tutto più semplice.

Come configurare un Field Group ACF con campi ripetibili (repeater fields)

La prima cosa da fare è creare un nuovo Gruppo di Campi in ACF (ACF Field Group), poi creeremo un campo che utilizzeremo come array ed al suo interno i relativi campi ripetibili (sub_fields).

Prendete quindi nota :

Creare un nuovo Field Group e date il nome : Google Maps

 Etichetta Campo Nome Campo Tipo di Campo
Markers markers Ripetitore
Indirizzo indirizzo Google Map
Sito internet sito_internet Url
Descrizione descrizione Area di Testo

Il risultato che dovreste avere è quello in figura

ACF Multi Markers sulla Mappa di GoogleAdesso che abbiamo creare il nostro Gruppo di Campi ACF, è necessario comunicare quando e dove questi campi personalizzati dovranno apparire nella dashboard di WordPress, quindi alla voce “Posizione” selezionare il tipo di regola, nel mio caso, ho deciso di mostrare i campi aggiuntivi solo se il tipo di Post è un Articolo ma potete creare N regole differenti a seconda delle vostre esigenze, per esempio se la categoria è uguale ad un certo nome, se il tag articolo è di un certo tipo, ecc, ecc.

ACF posizionare i campi nel back end di WP

Fatto ciò salviamo e creiamo un nuovo articolo di Worpdress, ora sotto l’editor predefinito troveremo i campi aggiuntivi appena creati.

Campi personalizzati Worpress ACF con ripetitore Google Map

Per inserire più di un record è sufficiente premere il pulsante “Aggiungi Riga” e compilare nuovamente tutti i campi.

Come mostrare a front end i campi personalizzati di ACF Advanced Custom Field, Google Maps Multi Marker

Adesso che abbiamo creato il “motore”, se salviamo l’articolo ed andiamo a vederlo a front end ci accorgeremo che non ci saranno i campi personalizzati di ACF, infatti è necessario aggiungerli direttamente nel template attualmente attivo.

Do per scontato che se state leggendo questa guida, abbiate un minimo di dimestichezza con PHP, quindi è chiaro che per inserire il codice sottostante è necessario aprire il file via FTP.

Io ho creato un tema child di Worpdress così da non perdere le modifiche ad un eventuale aggiornamento del tema.

Per prima cosa apriamo il file del tema che renderizza l’articolo, di solito single.php, e richiamiamo le API di Google con questa stringa :

poi incolliamo il seguente codice appena sotto il richiamo delle API, questo codice JS renderizza i campi ACF sulla mappa.

Ora incolliamo questa porzione di codice nel punto in cui vogliamo far apparire i campi aggiuntivi, nel mio caso dopo la generazione del contenuto di WordPress.

A questo punto è necessario salvare le modifiche al file e come risultato otteniamo :

Come mostrare i campi personalizzati ACF nel template a front end

Ciao!Alla prossima 🙂

 

Potrebbe interessarti anche ...

Hai bisogno di una consulenza, lo sviluppo di un plugin o vuoi incrementare le performance del tuo sito ?

Se vuoi postare codice usa codeshare.io
Se vuoi postare uno screeshot usa postimages.org ed inserisci l'url nel commento.

Lascia un commento


Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Iscriviti e ricevi trucchi e guide

Inserisci la tua email per ricevere gli ultimi articoli dal blog.

Inserendo i tuoi dati confermi di aver letto ed essere d’accordo con la privacy policy.