{"id":25109,"date":"2021-05-31T11:19:00","date_gmt":"2021-05-31T08:19:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25109"},"modified":"2021-10-18T02:35:35","modified_gmt":"2021-10-17T23:35:35","slug":"so-verwenden-sie-jquery-ajax-in-wordpress","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/so-verwenden-sie-jquery-ajax-in-wordpress\/","title":{"rendered":"So verwenden Sie jQuery Ajax in WordPress"},"content":{"rendered":"<p>M\u00f6chten Sie jQuery Ajax in WordPress implementieren? WordPress-Anf\u00e4nger haben immer Schwierigkeiten, Ajax mit WordPress zu verwenden. In diesem Artikel untersuchen wir die Verwendung von Ajax in WordPress anhand eines Live-Beispiels.<\/p>\n<h3>Warum brauchen Sie jQuery Ajax in der Website?<\/h3>\n<p>Ajax (Asynchronous JavaScript And XML) erm\u00f6glicht die asynchrone Aktualisierung einer Webseite. Dies bedeutet, dass Daten asynchron von einem Server gesendet und abgerufen werden k\u00f6nnen, ohne die Anzeige und das Verhalten der vorhandenen Seite zu beeintr\u00e4chtigen. Mit Ajax k\u00f6nnen Sie kleine oder gro\u00dfe Teile einer Webseite \u00e4ndern, ohne die gesamte Seite zu aktualisieren. Es hilft, die Benutzererfahrung zu verbessern und spart gleichzeitig eine zus\u00e4tzliche Last auf dem Server.<\/p>\n<p>Ajax wird in der Webentwicklung sehr beliebt. Die meisten Websites bevorzugen die Verwendung von Ajax, um den Inhalt dynamisch zu laden. In der Webentwicklung m\u00fcssen Sie f\u00fcr einige Aufgaben Ajax ohne zweite Option verwenden.<\/p>\n<p>Sehen wir uns jedoch an, wie Sie jQuery Ajax in WordPress verwenden.<\/p>\n<h3>Einstieg<\/h3>\n<p>Die Implementierung von Ajax in WordPress ist einfach und unkompliziert. Wir werden ein praktisches Beispiel daf\u00fcr sehen. Nehmen wir als Beispiel eine Reihe von Dropdown-Listen f\u00fcr L\u00e4nder und Bundesstaaten. Wenn der Benutzer ein Land aus der Dropdown-Liste ausw\u00e4hlt, sollten alle dem ausgew\u00e4hlten Land zugeordneten Bundesstaaten in der Dropdown-Liste der Bundesstaaten aufgef\u00fcllt werden. Dieses Verhalten muss von Ajax ausgef\u00fchrt werden.<\/p>\n<p>Um dies zu erreichen, ben\u00f6tigen Sie 2 Tabellen \u2013 wp_countries und wp_states. In diesen Tabellen sollten Sie die Eins-zu-Viele-Beziehung zwischen Land und Staaten beibehalten. Siehe die folgenden Screenshots.<\/p>\n<p><strong>Tabelle wp_countries<\/strong><\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20392-6081ead491f5f.png\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20392-6081ead491f5f.png\" alt=\"So verwenden Sie jQuery Ajax in WordPress\" ><\/a><\/p>\n<p><strong>Tabelle wp_states<\/strong><\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20392-6081ead547fd7.png\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20392-6081ead547fd7.png\" alt=\"So verwenden Sie jQuery Ajax in WordPress\" ><\/a><\/p>\n<p>Wenn Sie mit den Daten fertig sind, erstellen Sie die Dropdown-Liste Land, indem Sie die Daten wie folgt aus der L\u00e4ndertabelle abrufen.<\/p>\n<pre><code>&lt;?php\nglobal $wpdb;\n$aCountries = $wpdb-&gt;get_results( \"SELECT id, country FROM \".$wpdb-&gt;prefix.\"countries\" );\n\u00a0\n&lt;form method=\"post\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;select class=\"countries\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;option value=\"\"&gt;--&lt;?php _e('SELECT COUNTRY'); ?&gt;--&lt;\/option&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php foreach ($aCountries as $country) { ?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;option value=\"&lt;?php echo $country-&gt;id; ?&gt;\"&gt;&lt;?php echo $country-&gt;country; ?&gt;&lt;\/option&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php } ?&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/select&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;div class=\"load-state\"&gt;&lt;\/div&gt;\n&lt;\/form&gt;\n?&gt;<\/code><\/pre>\n<p>Wir haben die Klasse &#8218;Countries&#8216; zum select-Tag hinzugef\u00fcgt, das im jQuery-Code verwendet wird, um die ID eines Landes zu erhalten. Ich habe auch ein leeres div mit der Klasse &#8218;load-states&#8216; hinzugef\u00fcgt, an das das Status-Dropdown angeh\u00e4ngt wird, nachdem eine Antwort vom Ajax-Aufruf erhalten wurde.<\/p>\n<h3>jQuery Ajax in WordPress<\/h3>\n<p>Als n\u00e4chstes m\u00fcssen wir einen jQuery-Code schreiben, der einen Ajax-Aufruf an den Server sendet und die Antwort verarbeitet. Um einen Ajax-Aufruf zu schreiben, sollten Sie die JS-Datei einschlie\u00dfen. Erstelle eine <code>custom.js<\/code>Datei im <code>js<\/code>Verzeichnis deines aktiven Themes. F\u00fcgen Sie dies <code>custom.js<\/code>in der WordPress-Umgebung mit dem folgenden Code hinzu, der in <code>functions.php<\/code>.<\/p>\n<pre><code>function blog_scripts() {\n\u00a0\u00a0\u00a0\u00a0\/\/ Register the script\n\u00a0\u00a0\u00a0\u00a0wp_register_script( 'custom-script', get_stylesheet_directory_uri(). '\/js\/custom.js', array('jquery'), false, true );\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Localize the script with new data\n\u00a0\u00a0\u00a0\u00a0$script_data_array = array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'ajaxurl' =&gt; admin_url( 'admin-ajax.php' ),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'security' =&gt; wp_create_nonce( 'load_states' ),\n\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0\u00a0\u00a0wp_localize_script( 'custom-script', 'blog', $script_data_array );\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Enqueued script with localized data.\n\u00a0\u00a0\u00a0\u00a0wp_enqueue_script( 'custom-script' );\n}\nadd_action( 'wp_enqueue_scripts', 'blog_scripts' );<\/code><\/pre>\n<p>Lassen Sie uns nun einen jQuery-Code schreiben, der einen Ajax-Aufruf ausgibt, und das Status-Dropdown-Men\u00fc an die Seite anh\u00e4ngen.<\/p>\n<p><strong>custom.js<\/strong><\/p>\n<pre><code>jQuery(function($) {\n\u00a0\u00a0\u00a0\u00a0$('body').on('change', '.countries', function() {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0var countryid = $(this).val();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if(countryid != '') {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0var data = {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'action': 'get_states_by_ajax',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'country': countryid,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'security': blog.security\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$.post(blog.ajaxurl, data, function(response) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$('.load-state').html(response);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0});\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0});\n});<\/code><\/pre>\n<p>Hier habe ich eine <code>data<\/code>Variable deklariert, die einen <code>action<\/code>Schl\u00fcssel enth\u00e4lt. Der Zeichenfolgenwert f\u00fcr <code>action<\/code>key sollte aufgabenorientiert sein. Wir holen Zust\u00e4nde, also behalte ich seinen Namen als get_states_by_ajax. Andere Elemente der <code>data<\/code>Variablen sind die Details, die an Ajax-Anfragen gesendet werden sollen. Unser Ziel ist es, einen Staat basierend auf dem Land abzurufen, also \u00fcbergebe ich die L\u00e4nder-ID mit dem Schl\u00fcssel als <code>country<\/code>.<\/p>\n<p>Jetzt ist es an der Zeit, Ajax-Aufrufe auf WordPress-Art auszuf\u00fchren. F\u00fcgen Sie die folgenden 2 Anweisungen in die <code>functions.php<\/code>Datei Ihres aktiven Designs ein .<\/p>\n<pre><code>add_action('wp_ajax_get_states_by_ajax', 'get_states_by_ajax_callback');\nadd_action('wp_ajax_nopriv_get_states_by_ajax', 'get_states_by_ajax_callback');<\/code><\/pre>\n<p>&#8218;wp_ajax&#8216; ist ein festes Pr\u00e4fix bei der Verwendung von Ajax in WordPress. F\u00fcgen Sie dann den Wert der Aktion hinzu. In unserem Fall ist es get_states_by_ajax. Der erste Parameter wurde also wp_ajax_get_states_by_ajax. Der zweite Parameter ist eine Callback-Funktion, in die wir unseren eigentlichen serverseitigen Code schreiben m\u00fcssen. &#8218;wp_ajax_nopriv&#8216; sollte verwendet werden, wenn Sie Operationen f\u00fcr das Frontend ausf\u00fchren.<\/p>\n<p><code>get_states_by_ajax_callback<\/code>Schreiben Sie in der Methode den Code, der die Status-Dropdown-Liste zur\u00fcckgibt. Sie k\u00f6nnen diese Methode in der <code>functions.php<\/code>Datei definieren.<\/p>\n<pre><code>function get_states_by_ajax_callback() {\n\u00a0\u00a0\u00a0\u00a0check_ajax_referer('load_states', 'security');\n\u00a0\u00a0\u00a0\u00a0$country = $_POST['country'];\n\u00a0\u00a0\u00a0\u00a0global $wpdb;\n\u00a0\u00a0\u00a0\u00a0$aStates = $wpdb-&gt;get_results( $wpdb-&gt;prepare( \"SELECT id, state_name FROM \".$wpdb-&gt;prefix.\"states WHERE cid = %d\", $country) );\n\u00a0\u00a0\u00a0\u00a0if ($aStates) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;select&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0foreach ($aStates as $state) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;option value=\"&lt;?php echo $state-&gt;id; ?&gt;\"&gt;&lt;?php echo $state-&gt;state_name; ?&gt;&lt;\/option&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/select&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0wp_die();\n}<\/code><\/pre>\n<p>Die in den Code integrierte Antwort sendet ihn zur\u00fcck an die jQuery. Diese Antwort h\u00e4ngen wir dann mit jQuery an den div-Container an, der die Klasse &#8218;load-state&#8216; hat.<\/p>\n<p>Gehen Sie auf Ihre Seite und w\u00e4hlen Sie das Land aus. Das Dropdown-Men\u00fc f\u00fcr den Bundesstaat sollte f\u00fcr das ausgew\u00e4hlte Land angezeigt werden.<\/p>\n<p>Ich hoffe, Sie verstehen, wie man Ajax auf der WordPress-Website verwendet. Bitte teilen Sie Ihre Gedanken und Vorschl\u00e4ge im Kommentarbereich unten mit.<\/p>\n<h4>Zum Thema passende Artikel<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-laden-sie-wordpress-posts-mit-ajax\/\" title=\"So laden Sie WordPress-Beitr\u00e4ge mit AJAX\" >So laden Sie WordPress-Beitr\u00e4ge mit AJAX<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-integrieren-sie-den-ajax-datei-upload-in-wordpress\/\" title=\"So integrieren Sie den Ajax-Datei-Upload in WordPress\" >So integrieren Sie den Ajax-Datei-Upload in WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-verwenden-sie-jquery-autocomplete-mit-ajax-with\/\" title=\"So verwenden Sie jQuery Autocomplete mit Ajax\" >So verwenden Sie jQuery Autocomplete mit Ajax<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Aufnahmequelle:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>M\u00f6chten Sie wissen, wie Sie jQuery Ajax in WordPress verwenden? In diesem Tutorial. Wir haben ein Beispiel aus der realen Welt genommen und zeigen Ihnen, wie Sie Ajax in verwenden<\/p>\n","protected":false},"author":1,"featured_media":21665,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[204,496,607],"tags":[845],"class_list":["post-25109","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-elementor-3","category-laravel","category-uncategorized-3","tag-affiai-de"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/25109","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/comments?post=25109"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/25109\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media\/21665"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media?parent=25109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=25109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=25109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}