{"id":230127,"date":"2022-11-13T10:01:00","date_gmt":"2022-11-13T07:01:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230127"},"modified":"2022-11-09T20:12:48","modified_gmt":"2022-11-09T17:12:48","slug":"aggiunta-di-finestre-di-dialogo-modali-di-wordpress-con-librerie-integrate","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/aggiunta-di-finestre-di-dialogo-modali-di-wordpress-con-librerie-integrate\/","title":{"rendered":"Aggiunta di finestre di dialogo modali di WordPress (con librerie integrate)"},"content":{"rendered":"\n<p>Ogni volta che si tratta di sviluppare soluzioni per i clienti, ci saranno momenti in cui probabilmente avrai il compito di visualizzare le informazioni nelle finestre di dialogo modali di WordPress.<\/p>\n<p>Ci sono molte soluzioni disponibili per fare questo e pi\u00f9 hai familiarit\u00e0 con JavaScript, varie librerie e le librerie che hanno a disposizione, pi\u00f9 difficile (o forse \u00e8 ancora pi\u00f9 facile) \u00e8 scegliere quale usare.<\/p>\n<p>Ma WordPress ha un&#8217;infrastruttura integrata che rende banale incorporare funzionalit\u00e0 in WordPress. Quindi, in tre prossimi post, tratter\u00f2 quanto segue:<\/p>\n<ol>\n<li>Come incorporare le finestre di dialogo modali di WordPress utilizzando le librerie integrate,<\/li>\n<li>Popolando le finestre di dialogo modali con i dati,<\/li>\n<li>Popolamento della finestra di dialogo modale con dati dinamici tramite Ajax.<\/li>\n<\/ol>\n<p>A causa della natura della serie, i post non saranno consecutivi, ma utilizzeranno tutti un tag univoco che puoi utilizzare per aggiungere un segnalibro e fare riferimento a una serie una volta completati i post.<\/p>\n<p>Detto questo, parliamo di incorporare facilmente le finestre di dialogo modali di WordPress con le librerie integrate.<\/p>\n<h2>Finestre di dialogo modali di WordPress, parte 1<\/h2>\n<p>Per iniziare, presumo che tu abbia le basi di base di una pagina di amministrazione in atto.<\/p>\n<h3>Sulle pagine dei plugin<\/h3>\n<p>Cio\u00e8, hai tutto il necessario per ottenere una configurazione del plug-in, attivarla e quindi visualizzare una pagina tramite un menu o un sottomenu.<\/p>\n<p>In caso contrario, dai un&#8217;occhiata a <a href=\"https:\/\/tommcfarlin.com\/wordpress-menu-page\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">questo post<\/a> per vedere come iniziare.<\/p>\n<p>Una volta fatto, avrai bisogno dell&#8217;infrastruttura di base per una pagina di plug-in. Questa pagina pu\u00f2 essere utilizzata per la semplice visualizzazione di informazioni oppure pu\u00f2 essere utilizzata sia per visualizzare informazioni che per dare all&#8217;utente la possibilit\u00e0 di salvare le opzioni.<\/p>\n<p>Per questo tutorial, non sono particolarmente interessato a dare all&#8217;utente la possibilit\u00e0 di salvare le opzioni. Invece, dobbiamo creare un&#8217;ancora che visualizzer\u00e0 una finestra di dialogo modale ogni volta che viene cliccata.<\/p>\n<p>E i dati che conterr\u00e0 saranno trattati in un tutorial successivo.<\/p>\n<h3>Una pagina di plug-in di esempio<\/h3>\n<p>A questo punto, suppongo che tu abbia una pagina di plugin. Una struttura di base per esso pu\u00f2 assomigliare <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1db21634b8b7a88a963b3875553d2539#file-00-basic-plugin-page-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">a questa<\/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>Da l\u00ec, ci sono due cose che sono necessarie:<\/p>\n<ol>\n<li>incorporando la libreria Thickbox<\/li>\n<li>aggiungendo un&#8217;ancora e un contenitore che visualizzer\u00e0 una finestra di dialogo modale<\/li>\n<\/ol>\n<p>Per incorporare la libreria Thickbox nella tua pagina del plugin, aggiungi semplicemente questo tag. Se stai seguendo uno standard di codifica, \u00e8 probabile che la tua pagina abbia un docblock nella parte superiore della pagina. Qui \u00e8 dove normalmente aggiungo il codice.<\/p>\n<p>La\u00a0 funzione <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/add_thickbox\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">add_thickbox<\/a> \u00e8 quella fornita da WordPress che fa quanto segue:<\/p>\n<blockquote>\n<p>Accoda il valore predefinito ThickBox js e css.<\/p>\n<\/blockquote>\n<p>Un po&#8217; vago, vero? Tecnicamente la descrizione pi\u00f9 lunga \u00e8:<\/p>\n<blockquote>\n<p>ThickBox \u00e8 un widget di dialogo dell&#8217;interfaccia utente di una pagina Web scritto in JavaScript sopra la libreria jQuery. La sua funzione \u00e8 mostrare una singola immagine, pi\u00f9 immagini, contenuto in linea, contenuto iframe o contenuto servito tramite AJAX in una modalit\u00e0 ibrida.<\/p>\n<\/blockquote>\n<p>E se sei interessato alla libreria Thickbox da sola, puoi vederla in <a href=\"http:\/\/codylindley.com\/thickbox\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">questa pagina<\/a>.<\/p>\n<p>Comunque, torniamo alla pagina. Ora che lo sto aggiungendo alla mia pagina del plug-in utilizzando la funzione API di WordPress, la mia pagina \u00e8 <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1db21634b8b7a88a963b3875553d2539#file-01-thickbox-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">simile a questa<\/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>Successivamente, la creazione dell&#8217;ancora e dell&#8217;elemento per la visualizzazione dei dati vanno di pari passo, in particolare perch\u00e9 l&#8217;ancora necessita dell&#8217;ID dell&#8217;elemento che funger\u00e0 da finestra di dialogo modale.<\/p>\n<p>L&#8217;ancora necessita delle seguenti informazioni:<\/p>\n<ul>\n<li>l&#8217;ID dell&#8217;elemento che visualizzer\u00e0 il modale,<\/li>\n<li>le dimensioni di detta finestra modale<\/li>\n<\/ul>\n<p>Per questo esempio, imposter\u00f2 una finestra di dialogo che verr\u00e0 visualizzata a 800 \u00d7 600 pixel e avr\u00e0 l&#8217;ID di <strong>acme-modal-dialog<\/strong>.<\/p>\n<p><strong>Nota<\/strong>: ricorda che \u00e8 una buona idea anteporre ai tuoi elementi qualcosa relativo al nome del tuo plugin, in modo che non sorgano conflitti.<\/p>\n<p>Quindi creer\u00f2 un&#8217;ancora che <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1db21634b8b7a88a963b3875553d2539#file-02-adding-an-anchor-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">assomiglia a questa<\/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>E poi creer\u00f2 un elemento <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1db21634b8b7a88a963b3875553d2539#file-03-adding-the-modal-dialog-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">come questo<\/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>E il codice sopra \u00e8 come apparir\u00e0 anche la versione finale della pagina del plugin. Quando si fa clic sull&#8217;ancora, dovrebbe apparire una finestra di dialogo vuota con le dimensioni specificate (ovvero 800\u00d7600 pixel).<\/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=\"Aggiunta di finestre di dialogo modali di WordPress (con librerie integrate)\" ><\/a><\/p>\n<p>Ovviamente, sar\u00e0 vuoto in quanto non visualizzer\u00e0 alcun dato.<\/p>\n<h2>Visualizzazione dei dati<\/h2>\n<p>Nel prossimo post della serie, illustrer\u00f2 come visualizzare i dati nel contesto della finestra di dialogo.<\/p>\n<p>\u00c8 facile, ma \u00e8 un buon punto di partenza se stai cercando di iniziare a incorporare dati dinamici tramite l&#8217;API REST o Ajax. Ma lo tratter\u00f2 prima della fine di questo.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quando si tratta di sviluppare soluzioni per i clienti, ci saranno momenti in cui probabilmente avrai il compito di visualizzare le informazioni nelle finestre di dialogo modali di WordPress.<\/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":[896,844,865],"tags":[1168],"class_list":["post-230127","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-tutorial","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=230127"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230127\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/165813"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=230127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=230127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=230127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}