Lokalisieren eines Skripts, um einen Wert an eine JavaScript-function zu übergeben

Ich bin wirklich verrückt danach. Nach stundenlangen Versuchen kann ich nicht mehr raus.

Ich versuche, einen php-Variablenwert an ein eingereihtes jquery-Skript zu übergeben, aber ich kann nicht.

Hier ist mein Code.

php:

function itinerary_enqueuescripts(){ wp_enqueue_script('itenqueue', JSONURL.'/js/loadjson.js', array('jquery')); wp_localize_script( 'itenqueue', 'itajax', array( 'ajaxurl' => "hithere" ) ); } add_action('wp_enqueue_scripts', 'itinerary_enqueuescripts'); 

In meiner loadjson.js Datei habe ich ein einfaches

 var _latitude = 43.309; var _longitude = 8.499; var jsonPath = itajax.ajaxurl; //and should transform, in this example, in hithere 

Aber wenn das Skript in die Warteschlange gestellt wird, die var jsonPath als Wert von itajax.ajaxurl 🙂

Die Skripte werden korrekt in die Warteschlange eingereiht, in diesem Beispiel mache ich eine einfache Variablendeklaration (nur um Probleme zu lösen .. zB wird das Skript zu früh eingereiht).

Lustige Sache (und vielleicht ist hier der Hinweis, das ist ein ziemlich Kopieren / Einfügen von einem anderen Plugin von mir, für eine function, die auf admin-ajax.php für Front-End-Postings zeigt. Es ist die gleiche Syntax, mit verschiedenen Variablennamen natürlich, aber in diesem Fall funktioniert es nicht).

Danke für jeden Hinweis. (Ich habe alles versucht, registriere-lokalisiere-enqueueing, bis zum allerletzten Punkt in wp_footer … sogar doppelte double qoutes in einfache Anführungszeichen 🙂 Jetzt nehme ich an, dass ich wirklich etwas verpassen muss.

Solutions Collecting From Web of "Lokalisieren eines Skripts, um einen Wert an eine JavaScript-function zu übergeben"

JS-Variablen werden nicht direkt wie erwartet ersetzt. Die Lokalisierung in Ihrem Code ist korrekt.

Wenn Sie tun, var jsonPath = itajax.ajaxurl; Der Wert von itajax.ajaxurl wird der Variablen jsonPath .

Wenn Sie diese Variable in der Konsole debuggen, erhalten Sie den richtigen Wert. console.log(jsonPath);

Scheint, als ob du __ vor deinem Variablenwert hinzufügen musst, probiere diesen Code aus:

 wp_localize_script('itenqueue', 'itajax', array( 'ajaxurl' => __('hi there') )