Ich arbeite an einem untergeordneten Thema, In my-page-template.php
Ich habe :
$id_curr= 5; //calculated value through code
wp_localize_script('my_js', 'ajaxload', array('post_id' => $id_curr));
Im my_js.js
Ich habe einen AJAX-Aufruf:
$.ajax({
//...
type: 'post',
data: {
action: 'ajax_load',
post_id: ajaxload.post_id
}
})
Jetzt in functions.php
ich möchte bearbeiten/aktualisieren ajaxload.post_id
nach einem neuen Ergebnis. Gibt es eine Möglichkeit, das zu tun? Wenn ich versuche, erneut anzurufen wp_localize_script()
mit dem gleichen $name
Wie unten gezeigt, wird das funktionieren?
$id_new= 8; //new calculated value
wp_localize_script('my_js', 'ajaxload', array('post_id' => $id_new));
Wie würden Sie den Wert von bestimmen
$id_new
?– Paul Stanley
24. Oktober 2015 um 14:59 Uhr
@Octopi In der Funktion, die ich über AJAX aufrufe (befindet sich in functions.php), mache ich a
$_POST
,$id_new
istajaxload.post_id + $n
,$n
ist, wie oft die Bedingung einer While-Schleife wahr war.– Naourass Derouichi
24. Oktober 2015 um 15:49 Uhr
Kannst du bitte die Funktion posten?
– Paul Stanley
24. Oktober 2015 um 15:50 Uhr
Die Frage, die ich gestellt habe, ist eigentlich eine sehr vereinfachte Version meines Problems, die Funktion ist sehr lang, ich habe versucht, sie zu vereinfachen, aber sie ist immer noch zu lang und muss beides weitgehend erweitern
my-page-template.php
undmy_js.js
Teile. Was ich versuche, ist das Zurücksenden einer Antwort mit Daten vom PHP-Handler nach einer erfolgreichen AJAX-Anfrage.– Naourass Derouichi
24. Oktober 2015 um 16:08 Uhr
Ich denke, Ihr Ansatz kann hier falsch sein. localize script ist eigentlich dazu gedacht, Konstanten zu speichern. Ich denke, Sie sollten diesen Wert besser in einem HTML-Datenattribut speichern und bei Bedarf aktualisieren.
– Chris
27. Oktober 2015 um 1:44 Uhr