Supporto » Sviluppare con WordPress » creazione di custom fields per mostrare mappa di google maps o open maps

  • Risolto sacconi

    (@sacconi)


    Ho cominciato a prendere confidenza qualche tempo fa con i custom fields o campi personalizzati di wordpress, senza usare plug in specifici. Ho utilizzato finora un campo function_name, nel campo del valore metto un nome e questo nome me lo vedo poi nell’admin. Ho anche messo del codice nel file functions.php per trovare già predisposto questo campo ogni volta che creo un post nuovo (senza cercarmelo nel selettore) così risparmio tempo e devo solo inserire il valero (=nome), ora vorrei mostrare google maps (ho già un API google) o ev. open maps, qual’è la strada da percorrere senza plug in specifici, solo usando gli strumenti nativi di wordpress e ovviamente poi del codice custom, vorrei mostrare questa mappa in fondo ai post, quindi devo ficcarla dentro al loop dei post ma in fondo. Qualche idea su come procedere? (senza plug in tipo ACF)-Ovviamente devo creare due campi lat. long. grazie

    La pagina su cui ho bisogno di aiuto: [devi essere connesso per vedere il link]

Stai visualizzando 11 risposte - dal 1 al 11 (di 11 totali)
  • Ciao @sacconi ,

    Dovresti scrivere una funzione in PHP da inserire poi nel file functions.php o meglio ancora consiglio di farlo utilizzando il plugin gratuito “Snippets” che ti da la possibilità di inserire funzioni attraverso snippet: disabilitarle, attivarle, modificare ecc senza rischiare di muovere qualcosa che non dovresti 😉

    La funzione nello specifico dovrebbe articolarsi più o meno così :

    una parte che richiama l’api google maps e mostra la mappa sul fondo della pagina e una parte che crea dei campi nella pagina dell’editor dei post dove inserisci latitudine e longitudine.

    cerchi qualcosa del genere giusto?

    Posso chiederti come mai non vuoi usare un plugin o più banalmente implementarle manualmente inserendo il codice attraverso HTML?

    Puoi procurarti il codice HTML per ogni mappa che desideri cosi: cerchi la località su Maps, clicchi condividi, poi incorpora una mappa, decidi la dimensione, copi l’HTML e poi lo inserisci in un blocco html dove preferisci nel post del tuo sito/blog

    Spero in qualche modo di esserti stato utile 😉

    Enzo

    Chi ha creato la discussione sacconi

    (@sacconi)

    Quando devi inserire o far inserire migliaia di dati serve un pannello di controllo che velocizzi ogni operazione, inoltre preferisco non dipendere da terze parti, ho già vari plug in installati. La funzione deve fare quello che hai scritto sopra, purtroppo non riesco a trovare questo codice in giro…

    mmmm…immagino che non riesci a trovare, è una cosetta da scrivere custom in PHP.

    Hai già provato a fare una ricerca in inglese? Magari aumenti il raggio di ricerca…

    Chi ha creato la discussione sacconi

    (@sacconi)

    In italiano in genere non cerco nemmeno, c’è molto più materiale in inglese, c’è del codice in giro in inglese , ma che si appoggia a plug in esistenti…L’unica cosa che già ho risolto con codice è il poter trovare i campi funzione ogni volta che creo un post (appartamento), senza doverli scegliere da un selettore, quindi metto solo il valore. Quindi se riuscissi a creare due campi latitudine e longitudine poi metto il nome di queste funzioni in un certo codice che già ho e mi trovo questi campi “fissi” ogni volta che apro la pagina per un nuovo post. Inoltre credo di aver visto in giro qualche snippet di codice per “sparare” il risultato dei custom field in un certo punto del post pubblico, quindi il primo passo sarebbe codificare i campi latitudine e longitudine con API google (o anche open maps)…Io arrivo fin dove posso arrivare, poi so già che dovrò far intervenire qualche sviluppatore (del resto ho già un sito complesso fatto non da me, ma è piuttosto datato, non durerà in eterno)

    certo, sicuramente in rete troverai magari spezzoni di codice, potresti provare ad uscirne da solo (e magari ci riesci anche) 💪

    In caso contrario sicuramente uno sviluppatore potrà aiutarti ad ottenere quello che cerchi…

    Ti ripeto non è troppo difficile per chi ha dimestichezza con PHP , WordPress e l’utilizzo delle API

    Proverò anche io a scrivere una funzione che faccia quello che richiedi 😉

    Ciao @sacconi ,

    mi sono appassionato al tuo problema 🙂

    ho scritto una funzione custom e caricata sul mio GitHub.

    La trovi qui:

    https://github.com/EnzoMe85/Insert-Google-Maps-using-Google-API-Key-in-Wordpress-posts-automatically

    Leggi il file Readme, ci sono tutte le spiegazioni del caso

    fammi sapere se risolvi 😉

    Enzo

    Ciao @enzome85 ,

    niente male il tuo script. Considera di aver ricevuto una stella!

    Bye.

    Grazie @luca21 , gentilissimo 🙂

    Enzo

    Chi ha creato la discussione sacconi

    (@sacconi)

    Lo snippet funziona, sei stato bravo. Mi piacerebbe armonizzarlo con un altro spezzone di codice che ho già, se è possibile. Se vado su “aggiungi nuovo” in Campi Personalizzati e creo “Latitude” e poi “Longitude”, creo un post usando questi campi, poi in base alla funzione seguente, se io aggiungo Latitude e Longitude dopo function_name (l’unica funzione già inserita), mi dovrei trovare i campi da riempire già da subito in alto, in mezzo a quelli personalizzati nativi di wordpress? è possibile?

    // default value for new object
    
            // Add the meta data you want the custom post type to have
            $post_meta_data = [
                'function_name'
                
    
            ];
    
            foreach ( $post_meta_data as $meta ) {
                add_post_meta( $post->ID, $meta, '', true );
            }
    
    
            return;
        }
    
    
    
    }, 10, 3);
    

    Il senso di tutto questo è di trovarmi i campi per la mappa in alto con gli altri e non in fondo dopo Yoast, anche perchè una volta introdotti latitudine e longitudine in basso e validato il post, se torno su edit mi trovo i campi riempiti in alto, allora forse è meglio avere tutto sopra da subito.

    Altra osservazione. Al momento ho widget after content quind la mappa finisci anche troppo in basso ma è ok perchè nel progetto definitivo non avrò bisogno di widget after content, ma mi è sorto il dubbio se sopra la mappa ci sarà un margine di spazio con quello che c’è prima

    Su questo link vedrai prima la mappa inserita da me manualmente in precedenza e poi sotto a tutto la tua: https://sacconicase.com/marina-di-massa-alloggio-1-piano-4-5-posti-lavatrice-it-mar-07709/

    • Questa risposta è stata modificata 1 anno, 2 mesi fa da sacconi.

    Ciao @sacconi ,

    Lo snippet funziona, sei stato bravo. Mi piacerebbe armonizzarlo con un altro spezzone di codice che ho già, se è possibile. Se vado su “aggiungi nuovo” in Campi Personalizzati e creo “Latitude” e poi “Longitude”, creo un post usando questi campi, poi in base alla funzione seguente, se io aggiungo Latitude e Longitude dopo function_name (l’unica funzione già inserita), mi dovrei trovare i campi da riempire già da subito in alto, in mezzo a quelli personalizzati nativi di wordpress? è possibile?

    Con le freccette dovresti già riuscire a portare i due campi sulla barra nativa di wordpress a destra 🙂

    Il senso di tutto questo è di trovarmi i campi per la mappa in alto con gli altri e non in fondo dopo Yoast, anche perchè una volta introdotti latitudine e longitudine in basso e validato il post, se torno su edit mi trovo i campi riempiti in alto, allora forse è meglio avere tutto sopra da subito.

    Io ho un istallazione pulita di WordPress, non ho una visione completa del tuo progetto, cerca di adattare lo script alla tua installazione (e ai blocchi presenti nella barra nativa di WordPress) facendo magari anche qualche ricerca in rete.

    Altra osservazione. Al momento ho widget after content quind la mappa finisci anche troppo in basso ma è ok perchè nel progetto definitivo non avrò bisogno di widget after content, ma mi è sorto il dubbio se sopra la mappa ci sarà un margine di spazio con quello che c’è prima

    Su questo link vedrai prima la mappa inserita da me manualmente in precedenza e poi sotto a tutto la tua: https://sacconicase.com/marina-di-massa-alloggio-1-piano-4-5-posti-lavatrice-it-mar-07709/

    Inserendo un po’ di CSS puoi impostare i margini come preferisci

    Grazie per il complimento iniziale…Spero di esserti stato utile 🙂

    Enzo

    Chi ha creato la discussione sacconi

    (@sacconi)

    Non mi ero mai accorto delle freccette 🙂 Ok, seguirò i tuoi consigli, grazie

Stai visualizzando 11 risposte - dal 1 al 11 (di 11 totali)
  • Il topic ‘creazione di custom fields per mostrare mappa di google maps o open maps’ è chiuso a nuove risposte.