Un utente ha chiesto
Categoria: RVM – Responsive Vector Maps di WordPress
Domanda: vectorMap non è una funzione in Gutenberg

Ciao Enrico,

Sto cercando di aggiungere una mappa del mondo predefinita tramite un widget posizionato nel blocco del campo personalizzato di Gutenberg.
Ricevo due errori nella Console degli strumenti per sviluppatori:
1.jquery-jvectormap-world_merc_en.js?Ver = 5.4: 3 Uncaught TypeError: $ .fn.vectorMap non è una funzione
su jquery-jvectormap-world_merc_en.js?ver = 5.4: 3
su jquery-jvectormap-world_merc_en.js?ver = 5.4: 4
2.jquery-jvectormap-2.0.3.min.js? Ver = 2.0.3: 2 Errore non rilevato: prova a utilizzare una mappa che non è stata caricata: world_merc_en
al nuovo jvm.Map (jquery-jvectormap-2.0.3.min.js? ver = 2.0.3: 2)
su HTMLDocument. ((indice): 176)
a i (jquery.js? ver = 1.12.4-wp: 2)
su Object.fireWith [as resolveWith] (jquery.js? ver = 1.12.4-wp: 2)
in Function.ready (jquery.js? ver = 1.12.4-wp: 2)
su HTMLDocument.J (jquery.js? ver = 1.12.4-wp: 2)

Gli stessi errori vengono visualizzati durante il test della mappa dell’Italia e della mappa della fotocamera di esempio.
Sto usando il plugin Versione 6.3.6, WordPress versione 5.4
Ciò accade nell’ambiente locale e durante il test sul sito live.

Potresti per favore aiutarmi a suggerire cosa potrebbe causare questi errori?

ps Durante il test su un sito appena creato con un editor predefinito, non ci sono stati errori e la mappa è stata caricata contemporaneamente

  • Autore del plugin

    (@ enrico-urbinati)

    Ciao etesea,
    grazie per avermi contattato e per il tuo feedback!
    Le mappe RVM sono già testate su WP 5.4 e Gutenberg ready: come si tenta di visualizzare la mappa in Gutenberg?

    Puoi usare lo shortcode della mappa direttamente nel corpo del tuo post/pagina o meglio usando Aggiungi Blocco -> Widget -> shortcode.

    Forse un altro plugin che interessa RVM? Stai usando un sistema di minificazione che inserisce tutto il javascript nel piè di pagina?

    Dal problema che stai segnalando, sembra che venga caricato più jQuery dopo la libreria jvectormap …

    Prova a disabilitare tutti i plugin tranne RVM e vedi se funziona.
    Sarebbe ancora meglio avere un link per testare.

    Fammi sapere

    (@etesea)

    ciao Enrico,

    Grazie per la rapida risposta!
    Ho disabilitato tutti i plugin tranne i campi personalizzati avanzati, che sono essenziali per il tema personalizzato su cui sto lavorando. Sto usando blocchi personalizzati aggiunti tramite ACF, tutti i blocchi Gutenberg predefiniti sono stati disabilitati tranne i widget -> shortcode.
    Lo script jQuery viene caricato in testa, lo script per le mappe vettoriali viene caricato dopo jQuery ma gli errori sono ancora presenti.

    Quindi ho creato diverse pagine a scopo di test, tutte utilizzano mappe predefinite:
    1. Mappa dell’Italia -> https://20304050.hqsite.online/testxc/italy-map/

    La mappa viene aggiunta a un widget personalizzato (aggiunto con la funzione di registrazione della barra laterale)
    2. Scheda fotocamera -> https://20304050.hqsite.online/testxc/camera-map/

    Lo shortcode viene aggiunto tramite Widget -> shortcode.
    3.Mappa del mondo -> https://20304050.hqsite.online/testxc/world-map/

    Lo shortcode viene aggiunto tramite Widget -> shortcode.

    Grazie per aver esaminato questi problemi!

    Autore del plugin

    (@ enrico-urbinati)

    Ciao,
    potresti disattivare ACF solo a scopo di test? Ho bisogno di sapere cosa sta interferendo con RVM 🙂

    Un’altra ipotesi potrebbe essere che se stai utilizzando la tecnologia del caricatore di pagine Ajax, aggiorna rvm_shortcode.php
    nella directory del plugin rvm come segue:

    alla riga 553, sostituisci questo:
    $output .= '});})(jQuery);</script>';

    con quello:

    $output .= 'map.updateSize();});})(jQuery);</script>';

    A proposito, non ho riscontrato alcun problema nella console.
    Fagli sapere!

    (@etesea)

    Ciao di nuovo,

    E grazie ancora per aver dedicato del tempo a studiarlo!

    Fondamentalmente, non ha senso disabilitare il plug-in ACF, poiché il tema corrente è costituito interamente da blocchi riutilizzabili personalizzati creati con esso. Pertanto, nessun modello di pagina specifico viene utilizzato per le pagine e nessun contenuto sarebbe visibile senza ACF (tutti i blocchi per impostazione predefinita sono disabilitati). È quindi importante che questi due plugin coesistano.
    Ancora una volta, quando cambio il tema predefinito, la mappa è visibile senza ulteriori azioni.

    Ho modificato la riga 553 in rvm_shortcode.php, ma sfortunatamente gli errori sono ancora presenti.

    Non so perché non stai riscontrando problemi nella console, li ho in ambienti di test diversi, ma, per ogni evenienza, proverò a implementarne uno diverso e ricontrollerò

    Ancora una volta, se hai altri suggerimenti, li apprezzerei molto! Nel frattempo, se questo non è attualmente risolto, controllerò il piano B: controlla se la mappa è caricata nel caso in cui utilizzi un modello di pagina personalizzato.

    Comunque, grazie per il tuo tempo e impegno!

    PS Nel caso possa essere utile, il plugin Query Monitor mostra questa notifica soppressa: “I metodi con lo stesso nome della loro classe non saranno costruttori in una futura versione di PHP; rvm_widget ha un costruttore obsoleto ”(riga 14 di rvw_widget.php)

    Autore del plugin

    (@ enrico-urbinati)

    Ciao,

    scusa non ha funzionato
    Ho installato ACF sul mio ambiente locale e RVM funziona ancora bene.
    Potresti per favore dirmi i passaggi esatti che stai facendo per ricreare la stessa situazione?
    Grazie!

    (@etesea)

    ciao Enrico,

    Grazie per aver dedicato del tempo per installare e testare ACF! Questo, in sostanza, mi ha aiutato a trovare il mio errore!
    Poiché le mappe hanno dimostrato di funzionare bene con ACF, ho deciso di creare un’altra copia del tema con il numero minimo di file php di base e quindi aggiungere file php/js aggiuntivi uno per uno. Il motivo per cui le mappe non sono state caricate nel mio caso si è rivelato molto semplice: il file minimizzato con tutte le librerie js utilizzate nel tema è stato ereditato dal front-end e conteneva un’altra inclusione di jQuery. Quindi fondamentalmente sono stati aggiunti due file jquery: uno WP per impostazione predefinita e un altro in un file minimizzato.

    Grazie per avermi aiutato a trovare questo problema e grazie per il tuo tempo e l’ottimo supporto per il plugin!

    (@etesea)

    Segna come risolto

    Autore del plugin

    (@ enrico-urbinati)

    ciao etesea,

    felice che tu abbia scoperto il problema: la maggior parte delle volte, come già detto nella mia prima risposta, questo tipo di problema è legato a questo processo di minificazione.

    Puoi prendere in considerazione la revisione di RVM? Aiuterà il mio progetto 🙂
    Grazie in anticipo,
    Enrico

    (@etesea)

    ciao Enrico,

    Certo, lo farà!
    grazie ancora

Hai risolto il tuo problema?

0 / 0

Lascia un commento 0

Il tuo indirizzo email non sarà pubblicato. Required fields are marked *