Heim > Artikel > Backend-Entwicklung > Wie führt man Ajax-Aufrufe in WordPress ohne Plugins durch?
Wie in der Originalausgabe erwähnt, Ajax-Aufrufe in Wordpress ohne Verwendung von Plugins durchführen Plugins können manchmal zu unerwarteten Ergebnissen führen, z. B. dass immer „0“ als Ausgabe angezeigt wird. Dies liegt daran, dass im Frontend keine globale Variable namens ajaxurl vorhanden ist. Wordpress erstellt diese Variable zur Laufzeit, stellt sie aber nur im Backend zur Verfügung.
Um dieses Problem zu beheben, ist es notwendig, mit der Funktion wp_localize_script eine eigene Ajaxurl-Variable im Frontend zu erstellen. Hier ist ein Beispiel dafür:
<code class="php">function my_enqueue() { wp_enqueue_script( 'ajax-script', get_template_directory_uri() . '/js/my-ajax-script.js', array('jquery') ); wp_localize_script( 'ajax-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); } add_action( 'wp_enqueue_scripts', 'my_enqueue' );</code>
Dieser Code erstellt ein globales my_ajax_object-Objekt im Frontend, das die ajax_url-Eigenschaft enthält. Sie können dieses Objekt dann in Ihrem Javascript-Code verwenden, um Ajax-Anfragen zu stellen, etwa so:
<code class="javascript">jQuery.ajax({ type: "post", dataType: "json", url: my_ajax_object.ajax_url, data: formData, success: function(msg){ console.log(msg); } });</code>
Mit diesem Ansatz können Sie erfolgreich Ajax-Aufrufe in Wordpress durchführen, ohne auf Plugins angewiesen zu sein. Denken Sie daran, den Ajax-Script-Dateinamen und die CDN-Links so zu ändern, dass sie zum Setup Ihres Projekts passen.
Das obige ist der detaillierte Inhalt vonWie führt man Ajax-Aufrufe in WordPress ohne Plugins durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!