{"id":3549,"date":"2023-11-04T07:59:30","date_gmt":"2023-11-04T06:59:30","guid":{"rendered":"https:\/\/davidperezgar.com\/?p=3549"},"modified":"2025-10-15T22:11:21","modified_gmt":"2025-10-15T20:11:21","slug":"crea-archivo-distribucion-plugin-wp-cli","status":"publish","type":"post","link":"https:\/\/davidperezgar.com\/es\/crea-archivo-distribucion-plugin-wp-cli\/","title":{"rendered":"Crea el archivo de distribuci\u00f3n de tu plugin con wp-cli"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Con esta charla que he realizado en la <a href=\"https:\/\/madrid.wordcamp.org\/2023\/\" target=\"_blank\" rel=\"noopener\">WordCamp Madrid 2023<\/a>, aprender\u00e1s a crear un archivo de distribuci\u00f3n para subir a nuestras p\u00e1ginas web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Utilizar esta opci\u00f3n es la mejor porque mantenemos versiones para los plugins que vamos haciendo con WPCLI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Charla en WC Madrid<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-incrustar-wordpress-tv wp-block-embed-incrustar-wordpress-tv wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"VideoPress Video Player\" aria-label=\"VideoPress Video Player\" width=\"500\" height=\"281\" src=\"https:\/\/video.wordpress.com\/embed\/vgvLQ8NK?hd=1&amp;cover=1\" frameborder=\"0\" allowfullscreen allow=\"clipboard-write; presentation\"><\/iframe><script src='https:\/\/v0.wordpress.com\/js\/next\/videopress-iframe.js?m=1790791280'><\/script>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfQue levante la mano quien ha roto una web subiendo el desarrollo en Producci\u00f3n?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfA quien le gustar\u00eda mejorar el proceso?<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"\/wp-content\/uploads\/2026\/10\/charla-wcmadrid23-zip-1.jpg\" alt=\"Charla Wcmadrid23 Zip 1\" class=\"wp-image-5607\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-1.jpg 1920w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-1-596x335.jpg 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-1-768x432.jpg 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-1-1082x609.jpg 1082w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-1-1536x864.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Pues con esta charla, vamos a ver c\u00f3mo trabajar con <strong>Control de versiones<\/strong>, <strong>hacer nuestro archivo para distribuir<\/strong>, y <strong>subirlo a producci\u00f3n<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"\/wp-content\/uploads\/2026\/10\/charla-wcmadrid23-zip-2.jpg\" alt=\"Charla Wcmadrid23 Zip 2\" class=\"wp-image-5608\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-2.jpg 1920w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-2-596x335.jpg 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-2-768x432.jpg 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-2-1082x609.jpg 1082w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-2-1536x864.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfDesde cuando podemos hacerlo? desde el 11 Agosto del 2020, con un <a href=\"https:\/\/core.trac.wordpress.org\/changeset\/48390\" target=\"_blank\" rel=\"noopener\">ticket de WordPress<\/a> que ha tardado \u00a111 a\u00f1os!. \u00bfOs imagin\u00e1is un ticket con tal duraci\u00f3n? Pues este es un ejemplo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"\/wp-content\/uploads\/2026\/10\/charla-wcmadrid23-zip-3.jpg\" alt=\"Charla Wcmadrid23 Zip 3\" class=\"wp-image-5609\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-3.jpg 1920w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-3-596x335.jpg 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-3-768x432.jpg 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-3-1082x609.jpg 1082w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-3-1536x864.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Tenemos que ganar al \"malo de la pel\u00edcula\" y salvar los errores fatales en producci\u00f3n. Con este m\u00e9todo tenemos bastantes beneficios:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\">Versionamos nuestro desarrollo.<\/li>\n\n\n\n<li class=\"\">No dependemos de librer\u00edas de terceros.<\/li>\n\n\n\n<li class=\"\">Permite comparar con la versi\u00f3n actual subida.<\/li>\n\n\n\n<li class=\"\">Limpia cach\u00e9s despu\u00e9s de reemplazar el plugin.<\/li>\n\n\n\n<li class=\"\">Los ZIPs que montamos son limpios y fuera de carpetas que ensucian y no son necesarios.<\/li>\n\n\n\n<li class=\"\">Es un m\u00e9todo r\u00e1pido y confiable.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"\/wp-content\/uploads\/2026\/10\/charla-wcmadrid23-zip-4.jpg\" alt=\"Charla Wcmadrid23 Zip 4\" class=\"wp-image-5610\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-4.jpg 1920w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-4-596x335.jpg 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-4-768x432.jpg 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-4-1082x609.jpg 1082w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-4-1536x864.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfC\u00f3mo lo hacemos? Puedes ver el detalle en la secci\u00f3n m\u00e1s adelante.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/10\/charla-wcmadrid23-zip-5-scaled-1.jpg\" alt=\"Charla Wcmadrid23 Zip 5\" class=\"wp-image-5611\" title=\"\"><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"\/wp-content\/uploads\/2026\/10\/charla-wcmadrid23-zip-6.jpg\" alt=\"Charla Wcmadrid23 Zip 6\" class=\"wp-image-5612\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-6.jpg 1920w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-6-596x335.jpg 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-6-768x432.jpg 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-6-1082x609.jpg 1082w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-6-1536x864.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Y subimos a Producci\u00f3n. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"\/wp-content\/uploads\/2026\/10\/charla-wcmadrid23-zip-7.jpg\" alt=\"Charla Wcmadrid23 Zip 7\" class=\"wp-image-5613\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-7.jpg 1920w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-7-596x335.jpg 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-7-768x432.jpg 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-7-1082x609.jpg 1082w, https:\/\/davidperezgar.com\/wp-content\/uploads\/charla-wcmadrid23-zip-7-1536x864.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo configuramos nuestro comando WPCLI<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">De forma descriptiva, vamos a ver c\u00f3mo instalar nuestro comando para despu\u00e9s utilizarlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instalaci\u00f3n:<\/p>\n\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\"><code class=\"\">wp package install wp-cli\/dist-archive-command<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Para crear un zip de distribuci\u00f3n de plugin, hay una orden de WP-CLI: <strong>wp dist-archive<\/strong>. Coge los archivos de la carpeta y lo nombra con <strong>nombreplugin.version.zip<\/strong><\/p>\n\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\"><code class=\"\"> wp dist-archive nombreplugin<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Para que ignore archivos en la distribuci\u00f3n, tenemos que crear en el ra\u00edz el archivo: <strong>.distignore<\/strong> que tiene en cuenta y no introduce dichos archivos en el zip.<\/p>\n\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\"><code class=\"\">.distignore\n.editorconfig\n.git\n.gitignore\n.travis.yml\ncircle.yml\n.DS_Store\ncomposer.json\ncomposer.lock<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Las diapositivas de la charla, las pod\u00e9is <a href=\"\/wp-content\/uploads\/2026\/10\/charla-wcmadrid23-zip.pdf\">descargar a continuaci\u00f3n<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex frontblocks-gallery-grid\" data-layout=\"grid\" data-columns=\"3\" data-gutter=\"20\" data-lightbox=\"false\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" data-id=\"5615\" src=\"\/wp-content\/uploads\/2026\/10\/wcmadrid-charla-david-1-1.jpeg\" alt=\"Wcmadrid Charla David 1\" class=\"wp-image-5615\" title=\"\"><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"853\" data-id=\"5616\" src=\"\/wp-content\/uploads\/2026\/10\/wcmadrid-charla-david-2.jpeg\" alt=\"Wcmadrid Charla David 2\" class=\"wp-image-5616\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/wcmadrid-charla-david-2.jpeg 1280w, https:\/\/davidperezgar.com\/wp-content\/uploads\/wcmadrid-charla-david-2-596x397.jpeg 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/wcmadrid-charla-david-2-768x512.jpeg 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/wcmadrid-charla-david-2-1082x721.jpeg 1082w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" data-id=\"5619\" src=\"\/wp-content\/uploads\/2026\/10\/wcmadrid-charla-david-3-1.jpeg\" alt=\"Wcmadrid Charla David 3\" class=\"wp-image-5619\" title=\"\"><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"853\" data-id=\"5618\" src=\"\/wp-content\/uploads\/2026\/10\/wcmadrid-charla-david-4.jpeg\" alt=\"Wcmadrid Charla David 4\" class=\"wp-image-5618\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/wcmadrid-charla-david-4.jpeg 1280w, https:\/\/davidperezgar.com\/wp-content\/uploads\/wcmadrid-charla-david-4-596x397.jpeg 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/wcmadrid-charla-david-4-768x512.jpeg 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/wcmadrid-charla-david-4-1082x721.jpeg 1082w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"853\" data-id=\"5617\" src=\"\/wp-content\/uploads\/2026\/10\/wcmadrid-charla-david-5.jpeg\" alt=\"Wcmadrid Charla David 5\" class=\"wp-image-5617\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/wcmadrid-charla-david-5.jpeg 1280w, https:\/\/davidperezgar.com\/wp-content\/uploads\/wcmadrid-charla-david-5-596x397.jpeg 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/wcmadrid-charla-david-5-768x512.jpeg 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/wcmadrid-charla-david-5-1082x721.jpeg 1082w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n<\/figure>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Transcripci\u00f3n de la charla<\/summary>\n<p class=\"wp-block-paragraph\">\u00bfC\u00f3mo se hace el plugin? As\u00ed que por favor, recib\u00e1mosle con un grand\u00edsimo apalso. Que levante la mano, \u00bfqui\u00e9n no ha roto una web subiendo su desarrollo en producci\u00f3n? Hay unos cuantos, hay algunos que no han levantado. Y que levante la mano, \u00bfqui\u00e9n le gustar\u00eda mejorar el proceso? Hoy vamos a dar en diez minutillos un proceso en el que vamos a subir nuestro desarrollo a trav\u00e9s de control de versiones y subiendo la producci\u00f3n, creando m\u00e1s garant\u00edas de nuestro desarrollo que no va a romper la web en producci\u00f3n. Al final lo que queremos es garantizar nuestro desarrollo, no rompe y aparte mejora nuestro flujo de trabajo. le he puesto la tem\u00e1tica de Stranger Things ver\u00e9is por qu\u00e9, porque siempre pasan cosas raras y el gran malo de la pel\u00edcula es Begna al que hay que salvarlo y vamos a ver un poquito el proceso porque yo trabajo y desde hace ya un tiempo me ha cambiado totalmente la forma de trabajar y es de mi agencia en general \u00bfdesde cu\u00e1ndo podemos hacerlo? podemos hacerlo desde el 11 de agosto de 2020 en el que en una release de WordPress 5.5 nos dejaba subir un zip y que ese zip reemplazara el plugin que estaba ya subido. Dir\u00e9is, bueno, una cosa sencilla, pues cost\u00f3 11 a\u00f1os, un ticket de 11 a\u00f1os, estuvo dando vueltas hasta que el 11 de agosto se publiqu\u00e9. Ah\u00ed ten\u00e9is los enlaces de los tickets y de la conversaci\u00f3n que tuvieron y llama mucho la atenci\u00f3n que una cosa que ves t\u00fa sencilla, toda la complicaci\u00f3n que dio y cu\u00e1nto dur\u00f3. Y antes se hac\u00eda con dos plugins y el que quer\u00eda hacer este flujo de trabajo ten\u00eda que instalar ese plugin y luego hacer este flujo. Ahora ya no. A partir de WordPress 5.5 lo ten\u00e9is. \u00bfPor qu\u00e9 hacerlo as\u00ed? \u00bfPor qu\u00e9 ganar al malo? Bien, sobre todo tenemos un control de nuestras versiones de desarrollo. Vamos creando versiones, las vamos documentando y las vamos subiendo. Lo ideal es tener una web espejo o staging en el que nosotros subamos ese desarrollo, probemos que todo funciona bien y autom\u00e1ticamente despu\u00e9s subirlo a producci\u00f3n. Autom\u00e1ticamente o con ciertas revisiones antes. Lo bueno de este proceso es que no dependemos de librer\u00edas de terceros. No s\u00e9 si hab\u00e9is tenido alguna librer\u00eda de que se conecta a GitHub o alg\u00fan repositorio, mira si hay una nueva versi\u00f3n, se descarga y lo actualiza. Esa librer\u00eda, sorprendentemente, te crea un lag en el admin y nosotros desde hace tiempo ya lo quitamos, porque nos creaba, si tenemos varios plugins nuestros propios, nos creaba un lag, o sea, un lapso en esa conexi\u00f3n que no era necesaria, porque es un control que t\u00fa tienes de un plugin que t\u00fa puedes subir cuando t\u00fa quieres. Permite subir y comparar la versi\u00f3n actual respecto a la que tenemos. Entonces puedes ver incluso si t\u00fa en el propio desarrollo, en las cabeceras del plugin has puesto, si soporta la versi\u00f3n de WordPress, si soporta el PHP, pues todo eso lo puedes comprobar justo cuando est\u00e1s subiendo. Antes incluso de terminar de reemplazar el desarrollo. Normalmente limpias las cach\u00e9 de objetos, lo que hace es que si t\u00fa est\u00e1s cambiando por FTP en caliente el plugin, si tu servidor te ofrece una cach\u00e9 de objetos, posiblemente no ver\u00e1s el desarrollo actualizado. Y si entra en conflicto con otro plugin, puedes tener problemas. Con este proceso, no. T\u00fa subes el zip, reemplazas y limpias cach\u00e9. Los zip son mucho m\u00e1s limpios, porque no s\u00e9 si hab\u00e9is encontrado zip con carpetas con node de m\u00f3dulos, con la carpeta de Gihaz, con todo esto. Mucho m\u00e1s limpios y muy f\u00e1ciles de compartir, de distribuir a nuestros clientes o directamente para subir. Y es un proceso que es r\u00e1pido y es confiable. Es decir, que cuando ya la tienes estructurada y montada, ya puedes subir perfectamente. Bueno, muy bien David, me contaste estas cosas. Est\u00e1 muy bien. Pero, \u00bfc\u00f3mo se hace? \u00bfQui\u00e9n de aqu\u00ed sabe qu\u00e9 es VPClip? \u00bfHay algunos que no? Pues bueno, VPClip es la forma de trabajar con WordPress a trav\u00e9s de la l\u00ednea de comandos. Nos permite automatizar much\u00edsimos procesos que, por ejemplo, actualizar los plugins de la propia instalaci\u00f3n, incluso cambiar ajustes de la tabla de opci\u00f3n. Podemos automatizar totalmente la instalaci\u00f3n de un WordPress a trav\u00e9s de WPK. Os recomiendo que lo instal\u00e9is, lo pod\u00e9is utilizar tanto en local como en producci\u00f3n. Y aparte tiene unos comandos, este comando que yo ofrezco que lo instal\u00e9is se llama thisArchive, que es el que permite poder hacer este archivo de distribuci\u00f3n zip. Lo instalamos con WPackage Install WP.clix y una vez que se instala ya tenemos para poder utilizar el comando. Utilizamos el comando, tiene por varias partes, dice ac\u00e1 el comando, la parte del slug de nuestro plugin donde est\u00e1 y a donde queremos guardarlo. Esto yo lo suelo tener en un snippet, un testpander o cualquier cosa. Entonces le pongo el slug y siempre guardo toda la distribuci\u00f3n de mis versiones en una carpeta. me crea un archivo plugin.isubversi\u00f3n, esta versi\u00f3n, ojo, que es la que nosotros ponemos la cabecera del PHP del plugin. Entonces, es muy importante llevar la versi\u00f3n y aparte otra cosa muy importante es tenerlo documentado. Que al final, si estamos trabajando para clientes, tenemos que justificar los nuevos desarrollos y ah\u00ed lo vamos viendo. Pues con esa versi\u00f3n, ya sab\u00e9is, la gesti\u00f3n de versiones, la menor, la mayor, vamos viendo un poco y vamos creando nuestras nuevas versiones. Hablando de versiones, una cosa interesante tambi\u00e9n es utilizar beta 1, beta 2. Hay veces que la versi\u00f3n que t\u00fa tienes la quieras subir a este sitio espejo, podr\u00edas hacer una versi\u00f3n beta para subirlo, revisarlo, y ya cuando la tienes definitiva compila otra vez y creas tu versi\u00f3n definitiva. Y aqu\u00ed la magia de todo esto, y cuando salimos corriendo, es porque hay un archivo que se a\u00f1ade a nuestro root del plan que se llama thisignor, que lo que hace es que ignora las carpetas que nosotros no queremos que est\u00e9n en nuestro archivo de distribuci\u00f3n, en el zip. El t\u00edpico de sectores si tenemos un Macintosh, el t\u00edpico.git si es un repositorio, el no de m\u00f3dulos que suele ocupar 60 MB o 70 MB. Entonces, todo este archivo, que estos son los que yo suelo poner en mis archivos, digamos que te los limpia por defecto. Y entonces te tienes que despreocupar. \u00bfCu\u00e1ntas veces hemos hecho manualmente un zip y hemos tenido que limpiarlo antes, borrando cosas, luego copiando, y muchas veces incluso hasta borrando, volv\u00edan a aparecer archivos y en el zip que t\u00fa pasabas a producci\u00f3n te encontrabas archivos que no quer\u00edas que estuvieran? Pues con This Ignore, la soluci\u00f3n definitiva. Y tambi\u00e9n muchas veces tenemos carpetas de desarrollo que nosotros utilizamos, cualquier cosa, el Composer, por ejemplo, o incluso el Vendor. Hay veces que el Vendor lo utilizamos en desarrollo y no lo utilizamos para utilizarlo en el plugin. Eso tambi\u00e9n lo podemos ignorar para que no salga en nuestra versi\u00f3n. y luego hay que subir a producci\u00f3n todos sabemos ya que los viernes no se sube a producci\u00f3n se sube los lunes o los martes pues subiendo el lunes o martes, una vez que subimos ese archivo que hemos tenido, que hemos compilado que hemos hecho un zip que lo hemos probado en nuestro sitio espejo lo tenemos preparado, pues vamos a subirlo hay un proyecto dentro de WordPress del Core de que pueda hacer rollback, es decir, que podamos subir archivo y siquiera alg\u00fan problema puede volver hacia atr\u00e1s llegar\u00e1 pronto, pero mientras tanto tenemos el staging, es decir, probarlo en staging, que no se rompa nada, que todo funcione perfectamente y una vez comprobado subimos a producci\u00f3n. Una cosa a la que suelo aconsejar es crear nuestro propio release en el propio repositorio. Creas tu release y ah\u00ed ponemos la parte que hab\u00edamos dicho de documentar las versiones para tenerlo documentado esa versi\u00f3n. Y aparte de release, yo utilizo GitHub. Bueno, nosotros utilizamos GitHub. Ah\u00ed te permite incluso subir un archivo. Entonces, aparte de que te crea el propio release, t\u00fa puedes subir el archivo de distribuci\u00f3n que ya est\u00e1 listo para subir a cualquier otra p\u00e1gina web. \u00bfVale? Que ha tratado los Dignore y todo lo que hab\u00edamos visto. Y s\u00faper importante es documentar los cambios en el Realme. Cada vez que hacemos un cambio en nuestro desarrollo, l\u00ednea al canto en el Realme, documentando, he cambiado, he arreglado, he mejorado, para que despu\u00e9s de cara al cliente podamos justificar lo que hemos hecho. Hemos vencido al malo, por lo menos, se nos ha roto la p\u00e1gina web. Yo soy David P\u00e9rez y animo a trabajar nuestro flujo de trabajo. Nosotros llevamos ya un tiempo trabajando con este flujo. Creamos nuestros zip, tenemos nuestra carpeta de proyectos, incluso para plugins comerciales. Y lo que hacemos es eso, es tener nuestros zip limpitos, listos para distribuir y para compartir. E incluso para vender. Nuestros plugins comerciales tambi\u00e9n lo hacemos con este proceso. Muchas gracias. y las diapositivas las ten\u00e9is aqu\u00ed en davisperegar.com barra vcmadrid23.<\/p>\n<\/details>\n\n\n\n<h2 class=\"wp-block-heading\">Reacciones<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">Viendo c\u00f3mo a\u00f1adir seguridad a los plungin con <a href=\"https:\/\/x.com\/davidperezmk?ref_src=twsrc%5Etfw\">@davidperezmk<\/a> <a href=\"https:\/\/x.com\/hashtag\/WCMAD?src=hash&amp;ref_src=twsrc%5Etfw\">#WCMAD<\/a> <a href=\"https:\/\/t.co\/VBuS0IAgpA\">pic.twitter.com\/VBuS0IAgpA<\/a><\/p>&mdash; Luis Ruiz (@lruizcode) <a href=\"https:\/\/x.com\/lruizcode\/status\/1721118196546130347?ref_src=twsrc%5Etfw\">November 5, 2023<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">\ud83d\udca5Crea tu archivo de distribuci\u00f3n de tu plugin con WP-CLI\ud83d\udca5<br><br>\u00bfC\u00f3mo preparas tu plugin para publicar en una web?\u00a0<br><br>David P\u00e9rez <a href=\"https:\/\/x.com\/davidperezmk?ref_src=twsrc%5Etfw\">@davidperezmk<\/a>\u00a0<br>\u23f0Sala 2 12:15<a href=\"https:\/\/x.com\/hashtag\/WordPress?src=hash&amp;ref_src=twsrc%5Etfw\">#WordPress<\/a> <a href=\"https:\/\/x.com\/hashtag\/Desarrolloweb?src=hash&amp;ref_src=twsrc%5Etfw\">#Desarrolloweb<\/a> <a href=\"https:\/\/x.com\/hashtag\/WEB?src=hash&amp;ref_src=twsrc%5Etfw\">#WEB<\/a> <a href=\"https:\/\/t.co\/uCP5DmiKcI\">pic.twitter.com\/uCP5DmiKcI<\/a><\/p>&mdash; WordCamp Madrid (@WordCampMad) <a href=\"https:\/\/x.com\/WordCampMad\/status\/1720761625362256274?ref_src=twsrc%5Etfw\">November 4, 2023<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">C\u00f3mo generar paquetes para su distribuci\u00f3n con WP CLI <a href=\"https:\/\/x.com\/hashtag\/WCMAD?src=hash&amp;ref_src=twsrc%5Etfw\">#WCMAD<\/a> <a href=\"https:\/\/x.com\/davidperezmk?ref_src=twsrc%5Etfw\">@davidperezmk<\/a> <a href=\"https:\/\/t.co\/3nXzSZVkJh\">pic.twitter.com\/3nXzSZVkJh<\/a><\/p>&mdash; C\u00e9sar Saiz (@Emper) <a href=\"https:\/\/x.com\/Emper\/status\/1720763186536972680?ref_src=twsrc%5Etfw\">November 4, 2023<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">No os pod\u00e9is perder la ponencia de este hombre que huele muy pero que muy bien \ud83d\ude0a <a href=\"https:\/\/t.co\/n9Pd48xovY\">https:\/\/t.co\/n9Pd48xovY<\/a><\/p>&mdash; Pedro Crespo (@Pedromcj95) <a href=\"https:\/\/x.com\/Pedromcj95\/status\/1720767031341953054?ref_src=twsrc%5Etfw\">November 4, 2023<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">Despu\u00e9s de toda una ma\u00f1ana saludando amigos, desvirtualizando y abrazando tanta buena gente, por fin veo una charla. Y la mejor es la de <a href=\"https:\/\/x.com\/davidperezmk?ref_src=twsrc%5Etfw\">@davidperezmk<\/a>, haciendo hechizos para subir a producci\u00f3n <a href=\"https:\/\/x.com\/hashtag\/WCMAD?src=hash&amp;ref_src=twsrc%5Etfw\">#WCMAD<\/a> <a href=\"https:\/\/t.co\/lbFefXcfIA\">pic.twitter.com\/lbFefXcfIA<\/a><\/p>&mdash; Jes\u00fas Yesares Garc\u00eda (@jesusyesares) <a href=\"https:\/\/x.com\/jesusyesares\/status\/1720764004161757522?ref_src=twsrc%5Etfw\">November 4, 2023<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">Ya, s\u00f3lo con eso y lo de &quot;wp dist-archive&quot;, bien que aprovech\u00e9 la <a href=\"https:\/\/x.com\/hashtag\/WCMAD?src=hash&amp;ref_src=twsrc%5Etfw\">#WCMAD<\/a> \ud83d\ude09<\/p>&mdash; Paco Toledo (@pacotole) <a href=\"https:\/\/x.com\/pacotole\/status\/1725263594495918567?ref_src=twsrc%5Etfw\">November 16, 2023<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Con esta charla que he realizado en la WordCamp Madrid 2023, aprender\u00e1s a crear un archivo de distribuci\u00f3n para subir a nuestras p\u00e1ginas web. Utilizar esta opci\u00f3n es la mejor porque mantenemos versiones para los plugins que vamos haciendo con WPCLI. Charla en WC Madrid \u00bfQue levante la mano quien ha roto una web subiendo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5619,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":7,"footnotes":""},"categories":[169],"tags":[],"class_list":["post-3549","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-charlas"],"_links":{"self":[{"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/posts\/3549","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/comments?post=3549"}],"version-history":[{"count":1,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/posts\/3549\/revisions"}],"predecessor-version":[{"id":5931,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/posts\/3549\/revisions\/5931"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/media\/5619"}],"wp:attachment":[{"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/media?parent=3549"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/categories?post=3549"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/tags?post=3549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}