mehrere Shortcode-Instanzen auf derselben Seite

Ich baue ein Google Map Shortcode Plugin und ich benutze wp_localize_script um Variablen an js Skript wie (lat, lng, zoom …) zu übergeben. aber ich habe ein Problem: wenn ich diesen Shortcode zweimal oder öfter auf einer Seite verwende, nur der erste, der funktioniert.

Ich weiß, dass, um mein Problem zu lösen, ich ein Skript für jeden Shortcode mit eindeutigen Variablennamen etc. generieren sollte.

weiß jemand wie das geht?

Solutions Collecting From Web of "mehrere Shortcode-Instanzen auf derselben Seite"

Ich würde folgendes tun:

  • Shortcodes, denen eindeutige Namen zugewiesen werden.
  • Nach diesem Namen zu bauen div mit einer eindeutigen ID und einer js-function mit einem eindeutigen Namen.
  • Laden Sie das Google-Skript am Ende der Vorlage (in der wahrscheinlich Google-Maps enthalten sind).
  • Führen Sie die function aus, um die Karte anzuzeigen, wenn in der Ansicht gescrollt wird.

Ich werde nicht versuchen, Attribute an den Shortcode zu übergeben, aber der Code sollte in etwa so aussehen:

 function map_shortcode($atts){ //deal with $atts ?> 
< ?php }

Wichtig ist:

  • Sie laden nur einmal das Google Map Skript.
  • Jeder Kartenbereich sollte eine eindeutige ID haben.
  • Jede map js-function sollte einen eindeutigen Namen haben.
  • Nachdem das Karten-Skript geladen wurde, können Sie die functionen aufrufen.
  • Die document ready-function und nach dem scroll sollte hierfür ausreichend sein.
  • Möglicherweise müssen Sie das Google-Skript nicht asynchron laden.