{"id":25437,"date":"2021-05-31T11:17:00","date_gmt":"2021-05-31T08:17:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25437"},"modified":"2021-10-18T03:06:56","modified_gmt":"2021-10-18T00:06:56","slug":"come-utilizzare-jquery-ajax-in-wordpress","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/come-utilizzare-jquery-ajax-in-wordpress\/","title":{"rendered":"Come utilizzare jQuery Ajax in WordPress"},"content":{"rendered":"<p>Vuoi implementare jQuery Ajax in WordPress? I principianti di WordPress trovano sempre difficolt\u00e0 nell&#8217;usare Ajax con WordPress. In questo articolo, studiamo come utilizzare Ajax in WordPress prendendo un esempio dal vivo.<\/p>\n<h3>Perch\u00e9 \u00e8 necessario jQuery Ajax nel sito Web?<\/h3>\n<p>Ajax (Asynchronous JavaScript And XML) consente a una pagina Web di aggiornarsi in modo asincrono. Significa che i dati possono essere inviati e recuperati da un server in modo asincrono senza interferire con la visualizzazione e il comportamento della pagina esistente. Usando Ajax, puoi modificare piccole o grandi parti di una pagina web senza aggiornare l&#8217;intera pagina. Aiuta a migliorare l&#8217;esperienza dell&#8217;utente e allo stesso tempo consente di risparmiare un carico aggiuntivo sul server.<\/p>\n<p>Ajax diventa estremamente popolare nello sviluppo web. La maggior parte dei siti Web preferisce utilizzare Ajax per caricare il contenuto in modo dinamico. Nello sviluppo web per alcune attivit\u00e0, devi utilizzare Ajax senza alcuna seconda opzione.<\/p>\n<p>Detto questo, vediamo come utilizzare jQuery Ajax in WordPress.<\/p>\n<h3>Iniziare<\/h3>\n<p>L&#8217;implementazione di Ajax in WordPress \u00e8 facile e diretta. Ne vedremo un esempio pratico. Ad esempio, prendiamo un flusso di menu a discesa di paesi e stati. Quando l&#8217;utente seleziona un Paese dall&#8217;elenco a discesa, tutti gli stati assegnati al Paese selezionato devono essere compilati nell&#8217;elenco a discesa degli stati. Questo comportamento deve essere eseguito da Ajax.<\/p>\n<p>Per ottenerlo avrai bisogno di 2 tabelle: wp_countries e wp_states. In queste tabelle, dovresti mantenere la relazione uno a molti tra paese e stati. Fare riferimento agli screenshot seguenti.<\/p>\n<p><strong>Tabella 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=\"Come utilizzare jQuery Ajax in WordPress\" ><\/a><\/p>\n<p><strong>Tabella 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=\"Come utilizzare jQuery Ajax in WordPress\" ><\/a><\/p>\n<p>Una volta che sei pronto con i dati, crea il menu a discesa del paese recuperando i dati dalla tabella dei paesi come segue.<\/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>Abbiamo aggiunto la classe &quot;paesi&quot; al tag select che verr\u00e0 utilizzato nel codice jQuery per ottenere l&#8217;id di un paese. Ho anche aggiunto un div vuoto con la classe &quot;load-states&quot; a cui verr\u00e0 aggiunto il menu a discesa dello stato dopo aver ricevuto una risposta dalla chiamata Ajax.<\/p>\n<h3>jQuery Ajax in WordPress<\/h3>\n<p>Successivamente, dobbiamo scrivere un codice jQuery che dia una chiamata Ajax al server e gestisca la risposta. Per scrivere una chiamata Ajax, dovresti includere il file JS. Crea un <code>custom.js<\/code>file nella <code>js<\/code>directory del tuo tema attivo. Aggiungi questo <code>custom.js<\/code>nell&#8217;ambiente WordPress usando il codice seguente che va all&#8217;interno di <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>Ora scriviamo un codice jQuery che dia una chiamata Ajax e aggiungiamo il menu a discesa dello stato alla pagina.<\/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>Qui, ho dichiarato una <code>data<\/code>variabile che contiene una <code>action<\/code>chiave. Il valore della stringa per la <code>action<\/code>chiave dovrebbe essere orientato all&#8217;attivit\u00e0. Stiamo recuperando gli stati, quindi mantengo il nome come get_states_by_ajax. Altri elementi di <code>data<\/code>variabile sono i dettagli da inviare alle richieste Ajax. Il nostro obiettivo \u00e8 recuperare uno stato in base al paese, quindi sto passando l&#8217;ID paese con la chiave come <code>country<\/code>.<\/p>\n<p>Ora \u00e8 il momento di eseguire chiamate Ajax in modo WordPress. Aggiungi le seguenti 2 affermazioni nel <code>functions.php<\/code>file del tuo tema attivo .<\/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>&#8216;wp_ajax&#8217; \u00e8 un prefisso fisso durante l&#8217;utilizzo di Ajax in WordPress. Quindi aggiungi il valore dell&#8217;azione ad esso. Nel nostro caso \u00e8 get_states_by_ajax. Quindi, il primo parametro \u00e8 diventato wp_ajax_get_states_by_ajax. Il secondo parametro \u00e8 una funzione di callback in cui dobbiamo scrivere il nostro codice effettivo lato server. &#8216;wp_ajax_nopriv&#8217; dovrebbe essere usato quando si eseguono operazioni per il front-end.<\/p>\n<p>Nel <code>get_states_by_ajax_callback<\/code>metodo, scrivi il codice che restituir\u00e0 il menu a discesa dello stato. Puoi definire questo metodo in <code>functions.php<\/code>file.<\/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>La risposta incorporata nel codice la rimander\u00e0 a jQuery. Questa risposta viene quindi aggiunta utilizzando jQuery al contenitore div che ha la classe &#8216;load-state&#8217;.<\/p>\n<p>Vai alla tua pagina e scegli il paese. Dovresti vedere il menu a discesa dello stato per il paese selezionato.<\/p>\n<p>Spero che tu capisca come utilizzare Ajax sul sito Web di WordPress. Per favore condividi i tuoi pensieri e suggerimenti nella sezione commenti qui sotto.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-caricare-i-post-di-wordpress-con-ajax\/\" title=\"Come caricare i post di WordPress con AJAX\" >Come caricare i post di WordPress con AJAX<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-integrare-il-caricamento-di-file-ajax-in-wordpress\/\" title=\"Come integrare il caricamento di file Ajax in WordPress\" >Come integrare il caricamento di file Ajax in WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-utilizzare-il-completamento-automatico-di-jquery-con-ajax\/\" title=\"Come utilizzare il completamento automatico di jQuery con Ajax\" >Come utilizzare il completamento automatico di jQuery con Ajax<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vuoi sapere come utilizzare jQuery Ajax in WordPress? In questo tutorial. abbiamo preso un esempio del mondo reale e ti mostriamo come usare Ajax in<\/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":[208,500,611],"tags":[846],"class_list":["post-25437","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-elementor-7","category-laravel","category-uncategorized-7","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/25437","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=25437"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/25437\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/21665"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=25437"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=25437"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=25437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}