{"id":25885,"date":"2021-06-06T17:39:00","date_gmt":"2021-06-06T14:39:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25885"},"modified":"2021-10-17T18:27:02","modified_gmt":"2021-10-17T15:27:02","slug":"laadige-dunaamiline-sisu-rakendusse-bootstrap-modal-wordpressis","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/et\/laadige-dunaamiline-sisu-rakendusse-bootstrap-modal-wordpressis\/","title":{"rendered":"Laadige d\u00fcnaamiline sisu rakendusse Bootstrap Modal WordPressis"},"content":{"rendered":"<p>Bootstrap Modali kasutatakse teie veebisaidile dialoogi lisamiseks. Bootstrap Modali saate kasutada valguskastide, m\u00e4rguannete ja kohandatud sisu jaoks. Hiljuti t\u00f6\u00f6tasin WordPressi projekti kallal, kus soovisime kohandatud sisu d\u00fcnaamiliselt laadida Bootstrap Modali. Selles artiklis uurime, kuidas laadida d\u00fcnaamilist sisu Bootstrap Modalisse, kasutades WordPressi Ajaxi.<\/p>\n<p>On palju stsenaariume, kus v\u00f5ite soovida d\u00fcnaamilise sisuga Bootstrapi modaali. V\u00f5tame n\u00e4iteks WordPressi postitused.<\/p>\n<p>WordPress s\u00f5ltub sisu haldamiseks enamasti postituste t\u00fc\u00fcpidest. Tavaliselt hoiame WordPressis postituse vaatamiseks \u00fcksikasjalikku lehte. Kuid m\u00f5nel juhul ei pruugi postituse jaoks piisavalt sisu olla. Seega, selle asemel, et kuvada postituse sisu teisel lehel, eelistate seda n\u00e4idata h\u00fcpikaknas. Teil v\u00f5ib olla paar postitust ja nii peaks iga postituse sisu h\u00fcpikaknas d\u00fcnaamiliselt laadima.<\/p>\n<p>Siit tuleb Bootstrapi moodul, mida saate kasutada postituse sisu kuvamiseks l\u00f5ppkasutajatele. See n\u00f5uab, et j\u00e4rgiksite m\u00f5ningaid p\u00f5hijuhiseid, nagu on n\u00e4idatud \u00f5petuse j\u00e4rgmises osas.<\/p>\n<h3>V\u00f5imaldage Bootstrap Style ja JS<\/h3>\n<p>Alustamiseks oleksite pidanud oma WordPressi projekti lisama Bootstrapi CSS- ja JS-faili. N\u00f5utavate JS- ja CSS-failide kaasamiseks kasutan WordPressi standardit. Lisaks Bootstrapi failidele lisan ka sinna, <code>custom.js<\/code>kuhu me JavaScripti loogika kirjutame.<\/p>\n<p>Avage oma <code>functions.php<\/code>fail ja lisage sellesse allolev kood.<\/p>\n<pre><code>function artisansweb_scripts() {\n\u00a0\u00a0\u00a0\u00a0wp_enqueue_style( 'bootstrapcss', 'https:\/\/stackpath.bootstrapcdn.com\/bootstrap\/4.5.2\/css\/bootstrap.min.css', array(), false, 'all' );\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0wp_register_script('bootstrapjs', 'https:\/\/stackpath.bootstrapcdn.com\/bootstrap\/4.5.2\/js\/bootstrap.min.js', array('jquery'), false, true);\n\u00a0\u00a0\u00a0\u00a0wp_enqueue_script('bootstrapjs');\n\u00a0\n\u00a0\u00a0\u00a0\u00a0wp_register_script('custom-script', get_stylesheet_directory_uri(). '\/js\/custom.js', array('jquery'), false, true);\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( 'view_post' ),\n\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0\u00a0\u00a0wp_localize_script( 'custom-script', 'blog', $script_data_array );\n\u00a0\u00a0\u00a0\u00a0wp_enqueue_script('custom-script');\n}\nadd_action( 'wp_enqueue_scripts', 'artisansweb_scripts' );<\/code><\/pre>\n<p>Siia lisan Bootstrapi failid otse CDN-ist. V\u00f5iksite selle lisada kohapeal. Kui teete seda kohapeal, kohandage rada vastavalt sellele. Et <code>custom.js<\/code>faili, ma m\u00e4\u00e4ratud vaikimisi Ajax URL WordPress ja nonsi.<\/p>\n<h3>Laadige d\u00fcnaamiline sisu rakendusse Bootstrap Modal WordPressis<\/h3>\n<p>Nagu \u00f6eldud, laadin postituse sisu D\u00fcnaamiliselt Bootstrap Modali. Oletame, et olete loonud malli postituste loendamiseks. Igal postitusel on nupp \u201eKuva rohkem&quot;. Selle nupu kl\u00f5psamisel peaks Bootstrap Modal koos sisuga avanema.<\/p>\n<p>Selle kirje jaoks peaks teil olema oma HTML. K\u00f5ik, mida peate tegema, on lisada nuppudele \u00fcks andmete atribuut ja \u00fchine klass. See v\u00f5ib olla nagu allpool toodud v\u00e4ited.<\/p>\n<pre><code>&lt;button data-id=\"YOUR_POST_ID\" class=\"view-post\"&gt;&lt;?php _e('View More'); ?&gt;&lt;\/button&gt;\n&lt;button data-id=\"YOUR_POST_ID\" class=\"view-post\"&gt;&lt;?php _e('View More'); ?&gt;&lt;\/button&gt;<\/code><\/pre>\n<p>Kasutaja peab <code>data-id<\/code>atribuudi jaoks hoidma austatud postituse ID-d. Klassinimi, mida siin kasutasin, on &#8216;view-post&#8217;. J\u00e4rgmisena peate lisama Bootstrap Modali m\u00e4rgistuse kas oma mallifaili v\u00f5i jalusesse.<\/p>\n<pre><code>&lt;!-- Modal --&gt;\n&lt;div class=\"modal fade\" id=\"postModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"postModalLabel\" aria-hidden=\"true\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"modal-dialog\" role=\"document\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"modal-content\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"modal-header\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;h5 class=\"modal-title\" id=\"postModalLabel\"&gt;&lt;\/h5&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;span aria-hidden=\"true\"&gt;\u00d7&lt;\/span&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/button&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"modal-body\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\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\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n&lt;\/div&gt;<\/code><\/pre>\n<p>Kui m\u00e4rkate, j\u00e4tsin modaalse pealkirja ja mudeli keha t\u00fchjaks, mille laadime d\u00fcnaamiliselt. M\u00e4\u00e4rasin modaalile id &#8216;postModal&#8217;.<\/p>\n<p>Kui keegi kl\u00f5psab nuppu \u201eVaata veel&#8221;, peame saatma Ajaxi k\u00f5ne. Ajaxi vastuses saadame postituse pealkirja ja sisu, mis seej\u00e4rel lisatakse jQuery abil Modalis. Nii kirjutage <code>custom.js<\/code>faili allpool olev jQuery kood .<\/p>\n<pre><code>jQuery(function($) {\n\u00a0\u00a0\u00a0\u00a0$('body').on('click', '.view-post', function() {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0var data = {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'action': 'load_post_by_ajax',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'id': $(this).data('id'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'security': blog.security\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0};\n\u00a0\u00a0\n\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\u00a0response = JSON.parse(response);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$('#postModal h5#postModalLabel').text(response.title);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$('#postModal .modal-body').html(response.content);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$('#postModal').modal({show:true});\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0});\n\u00a0\u00a0\u00a0\u00a0});\n});<\/code><\/pre>\n<h4>Ajaxi k\u00f5ne WordPressis<\/h4>\n<p>\u00dclaltoodud jQuery koodist saadab see Ajaxi k\u00f5ne toiminguga &#8216;load_post_by_ajax&#8217;. Peame selle toimingu deklareerima ja sellele lisama tagasihelistamismeetodi. Tagasihelistamismeetodis kirjutatakse meie tegelik kood.<\/p>\n<p>Kirjutage <code>functions.php<\/code>faili allolev kood .<\/p>\n<pre><code>add_action('wp_ajax_load_post_by_ajax', 'load_post_by_ajax_callback');\nadd_action('wp_ajax_nopriv_load_post_by_ajax', 'load_post_by_ajax_callback');\n\u00a0\nfunction load_post_by_ajax_callback() {\n\u00a0\u00a0\u00a0\u00a0check_ajax_referer('view_post', 'security');\n\u00a0\u00a0\u00a0\u00a0$args = array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'post_type' =&gt; 'post',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'post_status' =&gt; 'publish',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'p' =&gt; $_POST['id'],\n\u00a0\u00a0\u00a0\u00a0);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$posts = new WP_Query( $args );\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$arr_response = array();\n\u00a0\u00a0\u00a0\u00a0if ($posts-&gt;have_posts()) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0while($posts-&gt;have_posts()) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$posts-&gt;the_post();\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$arr_response = array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'title' =&gt; get_the_title(),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'content' =&gt; get_the_content(),\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\u00a0\u00a0\u00a0\u00a0wp_reset_postdata();\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0echo json_encode($arr_response);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0wp_die();\n}<\/code><\/pre>\n<p>See selleks! Proovige seda lahendust proovida ja n\u00e4ete, et see laadib d\u00fcnaamilise sisu Bootstrap Modalisse. Tahaksin kuulda teie 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-lisada-pildivalja-taksonoomiasse-wordpressis\/\" title=\"Kuidas lisada pildiv\u00e4lja taksonoomiasse WordPressis\" >Kuidas lisada pildiv\u00e4lja taksonoomiasse WordPressis<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/kuidas-saata-wordpressi-e-kirju-smtp-serveri-abil\/\" title=\"Kuidas saata WordPressi e-kirju SMTP-serveri abil\" >Kuidas saata WordPressi e-kirju SMTP-serveri abil<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/kuidas-luua-kohandatud-elemendi-vidinat\/\" title=\"Kuidas luua kohandatud elemendi vidinat\" >Kuidas luua kohandatud elemendi vidinat<\/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 laadida WordPressi Bootstrap Modalile d\u00fcnaamilist sisu? Selles artiklis v\u00f5tame WordPressi postituse ja saate otse\u00fclekande<\/p>\n","protected":false},"author":1,"featured_media":20329,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[609],"tags":[842],"class_list":["post-25885","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized-5","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/25885","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=25885"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/25885\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media\/20329"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media?parent=25885"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/categories?post=25885"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/tags?post=25885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}