{"id":25574,"date":"2021-05-31T10:44:00","date_gmt":"2021-05-31T07:44:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25574"},"modified":"2021-10-17T18:34:44","modified_gmt":"2021-10-17T15:34:44","slug":"jquery-ajaxi-kasutamine-wordpressis","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/et\/jquery-ajaxi-kasutamine-wordpressis\/","title":{"rendered":"JQuery Ajaxi kasutamine WordPressis"},"content":{"rendered":"<p>Kas soovite rakendada jQuery Ajaxi WordPressis? WordPressi algajad leiavad Ajaxi kasutamisel WordPressiga alati raskusi. Selles artiklis uurime, kuidas Ajaxit WordPressis kasutada, v\u00f5ttes otsese n\u00e4ite.<\/p>\n<h3>Miks on jQuery Ajaxit vaja veebisaidil?<\/h3>\n<p>Ajax (as\u00fcnkroonne JavaScripti ja XML) v\u00f5imaldab veebilehte as\u00fcnkroonselt v\u00e4rskendada. See t\u00e4hendab, et andmeid saab serverist as\u00fcnkroonselt saata ja sealt hankida, h\u00e4irimata olemasoleva lehe kuvamist ja k\u00e4itumist. Ajaxi kasutades saate muuta v\u00e4ikeseid v\u00f5i suuremaid veebilehe osi kogu lehte v\u00e4rskendamata. See aitab parandada kasutajakogemust ja samal ajal s\u00e4\u00e4stab serveris lisakoormust.<\/p>\n<p>Ajax muutub veebiarenduses \u00fclipopulaarseks. Enamik veebisaite eelistab sisu d\u00fcnaamiliseks laadimiseks kasutada Ajaxi. M\u00f5ne \u00fclesande veebiarenduses peate kasutama Ajaxi ilma teise v\u00f5imaluseta.<\/p>\n<p>Seda \u00f6eldes vaatame, kuidas kasutada WordPressis jQuery Ajaxi.<\/p>\n<h3>Alustamine<\/h3>\n<p>Ajaxi rakendamine WordPressis on lihtne ja lihtne. N\u00e4eme selle praktilist n\u00e4idet. N\u00e4iteks v\u00f5tame riikide ja osariikide rippmen\u00fc\u00fcde voo. Kui kasutaja valib rippmen\u00fc\u00fcst riigi, peaksid oleku rippmen\u00fc\u00fcs olema t\u00e4idetud k\u00f5ik valitud riigile m\u00e4\u00e4ratud olekud. Seda k\u00e4itumist peab tegema Ajax.<\/p>\n<p>Selle saavutamiseks vajate 2 tabelit &#8211; wp_countries ja wp_states. Nendes tabelites peaksite hoidma riigi ja osariikide omavahelisi suhteid. Vaadake allolevaid ekraanipilte.<\/p>\n<p><strong>Tabel wp_ riigid<\/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=\"JQuery Ajaxi kasutamine WordPressis\" ><\/a><\/p>\n<p><strong>Tabel 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=\"JQuery Ajaxi kasutamine WordPressis\" ><\/a><\/p>\n<p>Kui olete andmetega valmis, koostage riigi rippmen\u00fc\u00fc, hankides andmed riigitabelist j\u00e4rgmiselt.<\/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>Oleme lisanud klassi \u201eriigid&quot; valitud m\u00e4rgendile, mida kasutatakse riigi ID saamiseks jQuery koodis. Lisasin ka t\u00fchja div-i klassi &#8216;load-state&#8217;, millele oleku rippmen\u00fc\u00fc lisatakse p\u00e4rast Ajaxi k\u00f5nelt vastuse saamist.<\/p>\n<h3>jQuery Ajax WordPressis<\/h3>\n<p>J\u00e4rgmisena peame kirjutama jQuery koodi, mis annab Ajaxi k\u00f5ne serverile ja haldab vastust. Ajaxi k\u00f5ne kirjutamiseks peaksite lisama JS-faili. Looge <code>custom.js<\/code>fail <code>js<\/code>oma aktiivse teema kataloogi. Lisage see <code>custom.js<\/code>WordPressi keskkonda, kasutades allpool asuvat koodi <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>N\u00fc\u00fcd kirjutame jQuery koodi, mis annab Ajaxi k\u00f5ne ja lisab lehele oleku rippmen\u00fc\u00fc.<\/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>Siin deklareerisin <code>data<\/code>muutuja, mis sisaldab <code>action<\/code>v\u00f5tit. <code>action<\/code>V\u00f5tme stringi v\u00e4\u00e4rtus peaks olema \u00fclesandekeskne. Me toome olekuid, nii et ma hoian selle nime get_states_by_ajax. Muud <code>data<\/code>muutuja elemendid on \u00fcksikasjad, mis tuleks Ajaxi p\u00e4ringutele saata. Meie eesm\u00e4rk on hankida riik, mis p\u00f5hineb riigil, seega edastan riigi ID v\u00f5tmega <code>country<\/code>.<\/p>\n<p>N\u00fc\u00fcd on aeg Ajaxi k\u00f5ned WordPressi viisil t\u00e4ita. Lisage oma aktiivse teema <code>functions.php<\/code>faili 2 allpool olevat lauset .<\/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; on fikseeritud eesliide ajaxi kasutamisel WordPressis. Seej\u00e4rel lisage sellele tegevuse v\u00e4\u00e4rtus. Meie puhul on see get_states_by_ajax. Nii sai esimeseks parameetriks wp_ajax_get_states_by_ajax. Teine parameeter on tagasihelistamisfunktsioon, kuhu peame kirjutama oma tegeliku serveripoolse koodi. &#8216;wp_ajax_nopriv&#8217; tuleks kasutada, kui teete operatsioone eesmises osas.<\/p>\n<p>Sisestage <code>get_states_by_ajax_callback<\/code>meetodisse kood, mis tagastab oleku rippmen\u00fc\u00fc. Selle meetodi saate m\u00e4\u00e4ratleda <code>functions.php<\/code>failis.<\/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>Koodi sisseehitatud vastus saadab selle jQueryle tagasi. Seej\u00e4rel lisame selle vastuse jQuery abil div-konteinerisse, millel on klass &#8216;load-state&#8217;.<\/p>\n<p>Minge oma lehele ja valige riik. Peaksite n\u00e4gema, et valitud riigi jaoks kuvatakse oleku rippmen\u00fc\u00fc.<\/p>\n<p>Loodan, et saate aru, kuidas Ajaxi WordPressi veebisaidil kasutada. Palun jagage oma m\u00f5tteid ja ettepanekuid allpool olevas kommentaaride jaotises.<\/p>\n<h4>seotud artiklid<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/kuidas-laadida-wordpressi-postitusi-ajax-iga\/\" title=\"Kuidas laadida WordPressi postitust AJAX-iga\" >Kuidas laadida WordPressi postitust AJAX-iga<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/ajaxi-faili-uleslaadimise-integreerimine-wordpressi\/\" title=\"Ajaxi faili \u00fcleslaadimise integreerimine WordPressi\" >Ajaxi faili \u00fcleslaadimise integreerimine WordPressi<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/jquery-automaatse-taitmise-kasutamine-ajaxiga\/\" title=\"JQuery automaatse t\u00e4itmise kasutamine Ajaxiga\" >JQuery automaatse t\u00e4itmise kasutamine Ajaxiga<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kas soovite teada, kuidas kasutada jQuery Ajaxi WordPressis? Selles \u00f5petuses. oleme v\u00f5tnud reaalse maailma n\u00e4ite ja n\u00e4itame teile, kuidas Ajaxit kasutada<\/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":[206,498,609],"tags":[842],"class_list":["post-25574","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-elementor-5","category-laravel2-5","category-uncategorized-5","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/25574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/comments?post=25574"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/25574\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media\/21665"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media?parent=25574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/categories?post=25574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/tags?post=25574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}