{"id":229342,"date":"2022-11-13T10:33:00","date_gmt":"2022-11-13T07:33:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229342"},"modified":"2022-11-09T06:35:24","modified_gmt":"2022-11-09T03:35:24","slug":"wordpressi-modaalsete-dialoogide-lisamine-sisseehitatud-raamatukogudega","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/wordpressi-modaalsete-dialoogide-lisamine-sisseehitatud-raamatukogudega\/","title":{"rendered":"WordPressi modaalsete dialoogide lisamine (sisseehitatud raamatukogudega)"},"content":{"rendered":"\n<p>Kui r\u00e4\u00e4kida klientidele lahenduste v\u00e4ljat\u00f6\u00f6tamisest, siis on aegu, mil teie \u00fclesandeks on t\u00f5en\u00e4oliselt kuvada teavet WordPressi modaaldialoogides.<\/p>\n<p>Selle jaoks on saadaval palju lahendusi ja mida paremini olete JavaScripti, erinevate teekide ja nende saadaolevate teekide kasutamisega kursis, seda raskem (v\u00f5i v\u00f5ib-olla isegi lihtsam) on valida, millist neist kasutada.<\/p>\n<p>Kuid WordPressil on sisseehitatud infrastruktuur, mis muudab funktsioonide lisamise WordPressi triviaalseks. Nii et kolmes eelseisvas postituses k\u00e4sitlen j\u00e4rgmist:<\/p>\n<ol>\n<li>Kuidas lisada WordPressi modaaldialooge sisseehitatud teekide abil,<\/li>\n<li>Modaalsete dialoogide t\u00e4itmine andmetega,<\/li>\n<li>Modaalse dialoogi t\u00e4itmine d\u00fcnaamiliste andmetega Ajaxi kaudu.<\/li>\n<\/ol>\n<p>Sarja olemuse t\u00f5ttu ei ole postitused \u00fcksteise j\u00e4rel, vaid need k\u00f5ik kasutavad ainulaadset silti, mida saate p\u00e4rast postituste valmimist kasutada j\u00e4rjehoidjate lisamiseks ja sarjana viitamiseks.<\/p>\n<p>Seda arvestades r\u00e4\u00e4gime WordPressi modaalsete dialoogide h\u00f5lpsast kaasamisest sisseehitatud teekidesse.<\/p>\n<h2>WordPressi modaaldialoogid, 1. osa<\/h2>\n<p>Alustuseks eeldan, et teil on halduslehe p\u00f5hialused paigas.<\/p>\n<h3>Pistikprogrammide lehtedel<\/h3>\n<p>See t\u00e4hendab, et teil on k\u00f5ik, mida vajate pistikprogrammi seadistamiseks, aktiveerimiseks ja seej\u00e4rel men\u00fc\u00fc v\u00f5i alammen\u00fc\u00fc kaudu kuvatava lehe kuvamiseks.<\/p>\n<p>Kui ei, siis vaadake <a href=\"https:\/\/tommcfarlin.com\/wordpress-menu-page\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">seda postitust<\/a>, et n\u00e4ha, kuidas alustada.<\/p>\n<p>Kui olete selle teinud, vajate pistikprogrammi lehe jaoks p\u00f5hilist infrastruktuuri. Seda lehek\u00fclge v\u00f5ib kasutada lihtsalt teabe kuvamiseks v\u00f5i nii teabe kuvamiseks kui ka kasutajale v\u00f5imaluste salvestamise v\u00f5imaluse andmiseks.<\/p>\n<p>Selle \u00f5petuse puhul ei ole ma eriti huvitatud kasutajale v\u00f5imaluste salvestamise v\u00f5imalusest. Selle asemel peame looma ankru, mis kuvab iga kord, kui sellel kl\u00f5psate, modaalset dialoogi.<\/p>\n<p>Ja andmeid, mida see sisaldab, k\u00e4sitletakse hilisemas \u00f5petuses.<\/p>\n<h3>Plugina n\u00e4idisleht<\/h3>\n<p>Siinkohal eeldan, et teil on pistikprogrammi leht. Selle p\u00f5histruktuur v\u00f5ib v\u00e4lja n\u00e4ha <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1db21634b8b7a88a963b3875553d2539#file-00-basic-plugin-page-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">selline<\/a> :<\/p>\n<pre><code>&lt;?php\n\/**\n * A basic plugin page that will eventually be used to demonstrate how to use the\n * Thickbox library included with WordPress.\n *\n * @package Acme\n *\/\n?&gt;\n\n&lt;div id=\"acme-thickbox-demo\" class=\"wrap\"&gt;\n  &lt;!-- TODO --&gt;\n&lt;\/div&gt;&lt;!-- #acme-thickbox-demo --&gt;<\/code><\/pre>\n<p>Sealt edasi on vaja kahte asja:<\/p>\n<ol>\n<li>sisaldab Thickbox raamatukogu<\/li>\n<li>ankru ja konteineri lisamine, mis kuvab modaalse dialoogi<\/li>\n<\/ol>\n<p>Thickbox teegi lisamiseks oma pistikprogrammide lehele lisage lihtsalt see silt. Kui j\u00e4rgite mis tahes kodeerimisstandardeid, on teie lehel t\u00f5en\u00e4oliselt lehe \u00fclaosas dokumendiplokk. See on koht, kus ma tavaliselt koodi lisan.<\/p>\n<p>Funktsiooni <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/add_thickbox\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">add_thickbox<\/a> pakub WordPress, mis teeb j\u00e4rgmist:<\/p>\n<blockquote>\n<p>Loob vaikimisi ThickBox js ja css.<\/p>\n<\/blockquote>\n<p>Natuke ebam\u00e4\u00e4rane, eks? Tehniliselt on pikem kirjeldus:<\/p>\n<blockquote>\n<p>ThickBox on veebilehe kasutajaliidese dialoogi vidin, mis on kirjutatud JavaScriptis jQuery teegi peale. Selle funktsioon on n\u00e4idata \u00fcht pilti, mitut pilti, tekstisisest sisu, iframed-sisu v\u00f5i AJAX-i kaudu edastatavat sisu h\u00fcbriidmodaalis.<\/p>\n<\/blockquote>\n<p>Ja kui olete huvitatud Thickboxi teegist, n\u00e4ete seda <a href=\"http:\/\/codylindley.com\/thickbox\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sellel lehel<\/a>.<\/p>\n<p>Igatahes, tagasi lehele. N\u00fc\u00fcd, kui lisan selle WordPressi API funktsiooni abil oma pistikprogrammi lehele, n\u00e4eb minu leht v\u00e4lja umbes <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1db21634b8b7a88a963b3875553d2539#file-01-thickbox-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">selline<\/a> :<\/p>\n<pre><code>&lt;?php\n\/**\n * A basic plugin page that will eventually be used to demonstrate how to use the\n * Thickbox library included with WordPress.\n *\n * @package Acme\n *\/\nadd_thickbox();\n?&gt;\n\n&lt;div id=\"acme-thickbox-demo\" class=\"wrap\"&gt;\n  &lt;!-- TODO --&gt;\n&lt;\/div&gt;&lt;!-- #acme-thickbox-demo --&gt;<\/code><\/pre>\n<p>J\u00e4rgmisena k\u00e4ivad ankru ja andmete kuvamise elemendi loomine k\u00e4sik\u00e4es, nimelt seet\u00f5ttu, et ankur vajab modaalse dialoogina toimiva elemendi ID-d.<\/p>\n<p>Ankur vajab j\u00e4rgmist teavet:<\/p>\n<ul>\n<li>modaali kuvava elemendi ID,<\/li>\n<li>nimetatud modaalse dialoogi m\u00f5\u00f5tmed<\/li>\n<\/ul>\n<p>Selle n\u00e4ite jaoks seadistan dialoogi, mis kuvatakse eraldusv\u00f5imega 800 \u00d7 600 pikslit ja mille ID on <strong>acme-modal-dialog<\/strong>.<\/p>\n<p><strong>M\u00e4rkus<\/strong>. Pidage meeles, et konfliktide v\u00e4ltimiseks on hea m\u00f5te lisada elementide ette midagi, mis on seotud teie pistikprogrammi nimega.<\/p>\n<p>Nii et ma loon ankru, mis <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1db21634b8b7a88a963b3875553d2539#file-02-adding-an-anchor-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">n\u00e4eb v\u00e4lja selline<\/a> :<\/p>\n<pre><code>&lt;?php\n\/**\n * A basic plugin page that will eventually be used to demonstrate how to use the\n * Thickbox library included with WordPress.\n *\n * @package Acme\n *\/\nadd_thickbox();\n?&gt;\n\n&lt;div id=\"acme-thickbox-demo\" class=\"wrap\"&gt;\n\n  &lt;h1&gt;Acme Thickbox Demo&lt;\/h1&gt;\n  &lt;p&gt;Provides an exmaple of how to use the thickbox library within a WordPress plugin page.&lt;\/p&gt;\n\n  &lt;div id=\"acme-thickbox-content\"&gt;\n    &lt;a href=\"#\"&gt;Display The Dialog&lt;\/a&gt;\n  &lt;\/div&gt;&lt;!-- #acme-thickbox-content --&gt;\n\n&lt;\/div&gt;&lt;!-- #acme-thickbox-demo --&gt;<\/code><\/pre>\n<p>Ja siis loon sellise <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1db21634b8b7a88a963b3875553d2539#file-03-adding-the-modal-dialog-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">elemendi<\/a> :<\/p>\n<pre><code>&lt;?php\n\/**\n * A basic plugin page that will eventually be used to demonstrate how to use the\n * Thickbox library included with WordPress.\n *\n * @package Acme\n *\/\nadd_thickbox();\n?&gt;\n\n&lt;div id=\"acme-thickbox-demo\" class=\"wrap\"&gt;\n\n  &lt;h1&gt;Acme Thickbox Demo&lt;\/h1&gt;\n  &lt;p&gt;Provides an exmaple of how to use the thickbox library within a WordPress plugin page.&lt;\/p&gt;\n\n  &lt;div id=\"acme-thickbox-content\"&gt;\n    &lt;a href=\"TB_inline?width=600&amp;height=550&amp;inlineId=acme-modal-dialog\" class=\"thickbox\"&gt;Display The Dialog&lt;\/a&gt;\n    &lt;div id=\"acme-modal-dialog\" style=\"display:none;\"&gt;&lt;\/div&gt;&lt;!-- #acme-modal-dialog --&gt;\n  &lt;\/div&gt;&lt;!-- #acme-thickbox-content --&gt;\n\n&lt;\/div&gt;&lt;!-- #acme-thickbox-demo --&gt;<\/code><\/pre>\n<p>Ja \u00fclaltoodud kood n\u00e4eb v\u00e4lja ka pistikprogrammi lehe l\u00f5plik versioon. Kui kl\u00f5psate ankrul, peaks ilmuma t\u00fchi dialoog m\u00e4\u00e4ratud m\u00f5\u00f5tmetega (st 800 \u00d7 600 pikslit).<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-165812-61e789a51e4aa.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-165812-61e789a51e4aa.png\" alt=\"WordPressi modaalsete dialoogide lisamine (sisseehitatud raamatukogudega)\" ><\/a><\/p>\n<p>Loomulikult on see t\u00fchi, kuna see ei kuva andmeid.<\/p>\n<h2>Andmete kuvamine<\/h2>\n<p>Sarja j\u00e4rgmises postituses kirjeldan, kuidas andmeid dialoogi kontekstis kuvada.<\/p>\n<p>See on lihtne, kuid see on hea l\u00e4htepunkt, kui soovite alustada d\u00fcnaamiliste andmete lisamist REST API v\u00f5i Ajaxi kaudu. Aga ma k\u00e4sitlen seda enne selle l\u00f5ppu.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kui r\u00e4\u00e4kida klientidele lahenduste v\u00e4ljat\u00f6\u00f6tamisest, siis on aegu, mil teie \u00fclesandeks on t\u00f5en\u00e4oliselt kuvada teavet WordPressi modaaldialoogides.<\/p>\n","protected":false},"author":1,"featured_media":165813,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[894,842,863],"tags":[1165],"class_list":["post-229342","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kood","category-opetused","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229342","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=229342"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229342\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/165813"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=229342"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=229342"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=229342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}