{"id":229473,"date":"2022-11-13T10:12:00","date_gmt":"2022-11-13T07:12:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229473"},"modified":"2022-11-09T07:14:38","modified_gmt":"2022-11-09T04:14:38","slug":"adicion-de-dialogos-modales-de-wordpress-con-bibliotecas-integradas","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/adicion-de-dialogos-modales-de-wordpress-con-bibliotecas-integradas\/","title":{"rendered":"Adici\u00f3n de di\u00e1logos modales de WordPress (con bibliotecas integradas)"},"content":{"rendered":"\n<p>Siempre que se trate de desarrollar soluciones para clientes, habr\u00e1 momentos en los que es probable que tenga la tarea de mostrar informaci\u00f3n en los cuadros de di\u00e1logo modales de WordPress.<\/p>\n<p>Hay muchas soluciones disponibles para hacer esto y cuanto m\u00e1s familiarizado est\u00e9 con JavaScript, varias bibliotecas y las bibliotecas que tienen disponibles, m\u00e1s dif\u00edcil (o tal vez incluso m\u00e1s f\u00e1cil) es elegir cu\u00e1l usar.<\/p>\n<p>Pero WordPress tiene una infraestructura integrada que hace que sea trivial incorporar funcionalidad en WordPress. Entonces, en tres pr\u00f3ximas publicaciones, cubrir\u00e9 lo siguiente:<\/p>\n<ol>\n<li>C\u00f3mo incorporar di\u00e1logos modales de WordPress utilizando bibliotecas integradas,<\/li>\n<li>Llenar los cuadros de di\u00e1logo modales con datos,<\/li>\n<li>Llenar el cuadro de di\u00e1logo modal con datos din\u00e1micos a trav\u00e9s de Ajax.<\/li>\n<\/ol>\n<p>Debido a la naturaleza de la serie, las publicaciones no ser\u00e1n consecutivas, pero todas usar\u00e1n una etiqueta \u00fanica que puede usar para marcar y referirse como una serie una vez que las publicaciones est\u00e9n completas.<\/p>\n<p>Dicho esto, hablemos de incorporar f\u00e1cilmente di\u00e1logos modales de WordPress con bibliotecas integradas.<\/p>\n<h2>Di\u00e1logos modales de WordPress, Parte 1<\/h2>\n<p>Para comenzar, asumo que tiene la base b\u00e1sica de una p\u00e1gina de administraci\u00f3n en su lugar.<\/p>\n<h3>En p\u00e1ginas de complementos<\/h3>\n<p>Es decir, tiene todo lo que necesita para configurar un complemento, activarlo y luego mostrar una p\u00e1gina a trav\u00e9s de un men\u00fa o submen\u00fa.<\/p>\n<p>Si no, echa un vistazo a <a href=\"https:\/\/tommcfarlin.com\/wordpress-menu-page\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">esta publicaci\u00f3n<\/a> para ver c\u00f3mo empezar.<\/p>\n<p>Una vez que haya hecho eso, necesitar\u00e1 la infraestructura b\u00e1sica para una p\u00e1gina de complemento. Esta p\u00e1gina se puede usar simplemente para mostrar informaci\u00f3n o se puede usar tanto para mostrar informaci\u00f3n como para brindarle al usuario la posibilidad de guardar opciones.<\/p>\n<p>Para este tutorial, no estoy particularmente interesado en darle al usuario la posibilidad de guardar opciones. En su lugar, necesitamos crear un ancla que muestre un cuadro de di\u00e1logo modal cada vez que se haga clic en \u00e9l.<\/p>\n<p>Y los datos que contendr\u00e1 se cubrir\u00e1n en un tutorial posterior.<\/p>\n<h3>Una p\u00e1gina de complemento de muestra<\/h3>\n<p>En este punto, asumo que tiene una p\u00e1gina de complementos. Una estructura b\u00e1sica para esto puede verse <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1db21634b8b7a88a963b3875553d2539#file-00-basic-plugin-page-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">as\u00ed<\/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>A partir de ah\u00ed, hay dos cosas que son necesarias:<\/p>\n<ol>\n<li>incorporando la biblioteca de Thickbox<\/li>\n<li>agregando un ancla y un contenedor que mostrar\u00e1 un di\u00e1logo modal<\/li>\n<\/ol>\n<p>Para incorporar la biblioteca de Thickbox en su p\u00e1gina de complementos, simplemente agregue esta etiqueta. Si sigue alg\u00fan est\u00e1ndar de codificaci\u00f3n, es probable que su p\u00e1gina tenga un bloque de documentos en la parte superior de la p\u00e1gina. Aqu\u00ed es donde normalmente agrego el c\u00f3digo.<\/p>\n<p>La\u00a0 funci\u00f3n <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/add_thickbox\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">add_thickbox<\/a> es una proporcionada por WordPress que hace lo siguiente:<\/p>\n<blockquote>\n<p>Pone en cola el js y css predeterminados de ThickBox.<\/p>\n<\/blockquote>\n<p>Un poco vago, \u00bfverdad? T\u00e9cnicamente, la descripci\u00f3n m\u00e1s larga es:<\/p>\n<blockquote>\n<p>ThickBox es un widget de di\u00e1logo de interfaz de usuario de p\u00e1gina web escrito en JavaScript sobre la biblioteca jQuery. Su funci\u00f3n es mostrar una sola imagen, varias im\u00e1genes, contenido en l\u00ednea, contenido iframed o contenido servido a trav\u00e9s de AJAX en un modo h\u00edbrido.<\/p>\n<\/blockquote>\n<p>Y si est\u00e1 interesado en la biblioteca de Thickbox por s\u00ed sola, puede verla en <a href=\"http:\/\/codylindley.com\/thickbox\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">esta p\u00e1gina<\/a>.<\/p>\n<p>De todos modos, de vuelta a la p\u00e1gina. Ahora que lo estoy agregando a mi p\u00e1gina de complementos usando la funci\u00f3n API de WordPress, mi p\u00e1gina se ve <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1db21634b8b7a88a963b3875553d2539#file-01-thickbox-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">as\u00ed<\/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>A continuaci\u00f3n, la creaci\u00f3n del ancla y el elemento para mostrar datos van de la mano porque el ancla necesita el ID del elemento que servir\u00e1 como di\u00e1logo modal.<\/p>\n<p>El ancla necesita la siguiente informaci\u00f3n:<\/p>\n<ul>\n<li>el ID del elemento que mostrar\u00e1 el modal,<\/li>\n<li>las dimensiones de dicho di\u00e1logo modal<\/li>\n<\/ul>\n<p>Para este ejemplo, voy a configurar un cuadro de di\u00e1logo que se muestre a 800 \u00d7 600 p\u00edxeles y tendr\u00e1 el ID de <strong>acme-modal-dialog<\/strong>.<\/p>\n<p><strong>Nota<\/strong>: Recuerde que es una buena idea prefijar sus elementos con algo relacionado con el nombre de su complemento, para que no surjan conflictos.<\/p>\n<p>As\u00ed que crear\u00e9 un ancla que <a href=\"https:\/\/gist.github.com\/tommcfarlin\/1db21634b8b7a88a963b3875553d2539#file-02-adding-an-anchor-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">se vea as\u00ed<\/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>Y luego crear\u00e9 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\">como este<\/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>Y el c\u00f3digo anterior es el aspecto que tendr\u00e1 la versi\u00f3n final de la p\u00e1gina del complemento. Al hacer clic en el ancla, deber\u00eda aparecer un cuadro de di\u00e1logo vac\u00edo con las dimensiones especificadas (es decir, 800 \u00d7 600 p\u00edxeles).<\/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=\"Adici\u00f3n de di\u00e1logos modales de WordPress (con bibliotecas integradas)\" ><\/a><\/p>\n<p>Por supuesto, estar\u00e1 vac\u00edo porque no mostrar\u00e1 ning\u00fan dato.<\/p>\n<h2>Visualizaci\u00f3n de datos<\/h2>\n<p>En la pr\u00f3xima publicaci\u00f3n de la serie, explicar\u00e9 c\u00f3mo mostrar datos dentro del contexto del di\u00e1logo.<\/p>\n<p>Es f\u00e1cil, pero es un buen punto de partida si desea comenzar a incorporar datos din\u00e1micos a trav\u00e9s de la API REST o Ajax. Pero lo cubrir\u00e9 antes del final de esto.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cuando se trata de desarrollar soluciones para clientes, habr\u00e1 momentos en los que es probable que tenga la tarea de mostrar informaci\u00f3n en los cuadros de di\u00e1logo modales de 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":[892,840,861],"tags":[1172],"class_list":["post-229473","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/229473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=229473"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/229473\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/165813"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=229473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=229473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=229473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}