{"id":1368,"date":"2022-10-13T10:30:00","date_gmt":"2022-10-13T15:30:00","guid":{"rendered":"http:\/\/racmanuel.dev\/?p=1368"},"modified":"2022-10-12T22:46:39","modified_gmt":"2022-10-13T03:46:39","slug":"como-usar-composer-en-un-plugin-de-wordpress","status":"publish","type":"post","link":"https:\/\/racmanuel.dev\/en\/como-usar-composer-en-un-plugin-de-wordpress\/","title":{"rendered":"\u00bfComo usar composer en un plugin de WordPress?"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Antes de iniciar con el tutorial hay que aclarar estoy hablando de Composer el famoso gestor de dependencias de PHP, utilizado en frameworks como Laravel y NO tiene nada que ver con Visual Composer(Plugin de WordPress para la maquetaci\u00f3n visual).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"618\" height=\"519\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-13.png\" alt=\"\" class=\"wp-image-1369\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-13.png 618w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-13-600x504.png 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-13-300x252.png 300w\" sizes=\"(max-width: 618px) 100vw, 618px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez aclarado que no hablaremos de Visual Composer, empecemos con las cosas b\u00e1sicas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"que-es-composer\"><span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">\u00bfQu\u00e9 es composer?<\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Composer es una herramienta para la gesti\u00f3n de dependencias en PHP. Nos permite a los programadores declarar las bibliotecas de las que dependen nuestros proyectos y composer las administrar\u00e1 (instalar\u00e1 \/ actualizar\u00e1).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"para-que-nos-sirve-composer-en-un-plugin-de-wordpress\"><span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">\u00bfPara qu\u00e9 nos sirve composer en un plugin de WordPress?<\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Imagina que tienes un plugin en WordPress que estas desarrollando, tienes varias librer\u00edas de PHP como CMB2: Custom Meta Boxes, Advanced Custom Fields y algunas librer\u00edas para hacer PDFs o Excel, PHP Unit, etc&#8230; la forma m\u00e1s com\u00fan de integrar estas librer\u00edas es ir a la p\u00e1gina oficial descargar la version m\u00e1s reciente, una vez descargadas las copias a tu carpeta del plugin. Pero&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Te imaginas que en un futuro necesites dar mantenimiento al plugin o quiz\u00e1s alguna librer\u00eda de las que utilizaste en el plugin ya no es compatible con la version de PHP del servidor y necesitas actualizar la librer\u00eda, bueno pues composer nos ahorra muchos de estos tipos de problemas ya que mediante nuestra consola de comandos podemos actualizar todas las librer\u00edas e incluso instalarlas todas, sin necesidad de descargar de una por una, copiando y pegando.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"como-instalar-composer\"><span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">\u00bfComo instalar composer?<\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"640\" height=\"372\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-14.png\" alt=\"\" class=\"wp-image-1373\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-14.png 640w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-14-600x349.png 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-14-300x174.png 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Abrimos una nueva pesta\u00f1a de nuestro navegador y buscamos en Google.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"638\" height=\"380\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-15.png\" alt=\"\" class=\"wp-image-1374\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-15.png 638w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-15-600x357.png 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-15-300x179.png 300w\" sizes=\"(max-width: 638px) 100vw, 638px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Escribiremos <strong><code>composer<\/code><\/strong> e iremos al primer resultado de Google aseg\u00farate que la direcci\u00f3n de la web sea: <a href=\"https:\/\/getcomposer.org\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/getcomposer.org<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"636\" height=\"389\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-16.png\" alt=\"\" class=\"wp-image-1375\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-16.png 636w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-16-600x367.png 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-16-300x183.png 300w\" sizes=\"(max-width: 636px) 100vw, 636px\" \/><figcaption>Daremos click en el boton de descargar.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"631\" height=\"375\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-17.png\" alt=\"\" class=\"wp-image-1376\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-17.png 631w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-17-600x357.png 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-17-300x178.png 300w\" sizes=\"(max-width: 631px) 100vw, 631px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Podremos ver una p\u00e1gina nueva y daremos click en <a href=\"https:\/\/getcomposer.org\/Composer-Setup.exe\" data-type=\"URL\" data-id=\"https:\/\/getcomposer.org\/Composer-Setup.exe\" rel=\"nofollow noopener\" target=\"_blank\">Composer-Setup.exe.<\/a> al finalizar la descarga del archivo .exe deberemos ejecutarlo, nos pedira algunos permisos de administrador, daremos click en aceptar.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-19.png\" alt=\"\" class=\"wp-image-1378\" width=\"633\" height=\"480\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-19.png 812w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-19-600x455.png 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-19-300x228.png 300w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-19-768x583.png 768w\" sizes=\"(max-width: 633px) 100vw, 633px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Deberemos de dar click en el boton de &#8220;next&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-20.png\" alt=\"\" class=\"wp-image-1379\" width=\"637\" height=\"481\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-20.png 815w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-20-600x453.png 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-20-300x227.png 300w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-20-768x580.png 768w\" sizes=\"(max-width: 637px) 100vw, 637px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n, nos pide que indiquemos la ruta del ejecutable de PHP, en mi caso como estoy trabajando con:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Laragon la ruta es <span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">C:\\laragon\\bin\\php\\php-version\\php.exe<\/span><\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Si estas usando un servidor local como:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>XAMPP la ruta es <span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">C:\\xampp\\php\\<\/span><\/li><li>WAMPP la ruta es <span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">C:\\wamp\\bin\\php\\php <\/span><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">NOTA: Tienes que seleccionar el archivo php.exe, luego click en &#8220;Next&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-21.png\" alt=\"\" class=\"wp-image-1380\" width=\"635\" height=\"482\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-21.png 810w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-21-600x456.png 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-21-300x228.png 300w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-21-768x583.png 768w\" sizes=\"(max-width: 635px) 100vw, 635px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Daremos click en &#8220;Next&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-22.png\" alt=\"\" class=\"wp-image-1381\" width=\"641\" height=\"487\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-22.png 817w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-22-600x456.png 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-22-300x228.png 300w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-22-768x584.png 768w\" sizes=\"(max-width: 641px) 100vw, 641px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Click en &#8220;Install&#8221;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez est\u00e9 todo instalado, puede que aparecer\u00e1n otras ventanas donde simplemente debes hacer click en Next, y posteriormente en Finish; despu\u00e9s de tantos Next, Next, el instalador de Composer habr\u00e1 puesto en nuestro PATH global la ruta de la carpeta PHP y su propia carpeta Composer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto nos permite trabajar desde consola escribiendo s\u00f3lo php o composer sin necesidad de indicar la ruta del ejecutable. Para ver que todo est\u00e1 en orden vamos a realizar dos peque\u00f1as pruebas, as\u00ed que es momento de abrir la consola, y teclear:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">php -v (tecla Enter)\ncomposer -version (tecla Enter)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Para comprobar que todo est\u00e1 correcto deberemos ver la versi\u00f3n de cada uno, como se ve en la siguiente imagen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-24-1024x586.png\" alt=\"\" class=\"wp-image-1384\" width=\"631\" height=\"360\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-24-1024x586.png 1024w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-24-600x343.png 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-24-300x172.png 300w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-24.png 1092w\" sizes=\"(max-width: 631px) 100vw, 631px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Con esto ya tenemos Composer instalado y funcionando en Windows, ahora solo nos queda hacer una prueba de Composer en nuestro plugin.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"como-usar-composer-en-un-plugin-de-wordpress\"><span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">\u00bfComo usar composer en un plugin de WordPress?<\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Primero deberemos de ir a la carpeta de nuestro plugin en WordPress en mi caso mi plugin est\u00e1 en la siguiente ruta <span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">\\wp-content\\plugins\\demo_composer<\/span>, dentro de esta carpeta deberemos de tener el archivo principal de nuestro plugin en mi caso hice un archivo solo para demostraci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">&lt;?php\n\/*\n * Plugin: Demo de Composer\n *\/\n\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s procederemos a abrir la ruta de nuestro plugin con la l\u00ednea de comandos, en Windsor basta con dar click derecho en la carpeta de nuestro plugin y dar click en &#8220;Abrir en Terminal&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"588\" height=\"175\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-25.png\" alt=\"\" class=\"wp-image-1389\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-25.png 588w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-25-300x89.png 300w\" sizes=\"(max-width: 588px) 100vw, 588px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nos mostrar nuestra terminal de comando de Windows, basta con escribir la siguiente l\u00ednea para poder usar composer en nuestro plugin de WordPress.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">composer init<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-26-1024x325.png\" alt=\"\" class=\"wp-image-1391\" width=\"834\" height=\"265\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-26-1024x325.png 1024w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-26-600x190.png 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-26-300x95.png 300w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-26-768x244.png 768w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-26.png 1302w\" sizes=\"(max-width: 834px) 100vw, 834px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Daremos &#8220;Enter&#8221; o la tecla &#8220;N&#8221; para saltar la configuraci\u00f3n inicial.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-27-1024x375.png\" alt=\"\" class=\"wp-image-1393\" width=\"829\" height=\"304\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-27-1024x375.png 1024w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-27-600x220.png 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-27-300x110.png 300w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-27-768x282.png 768w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-27.png 1132w\" sizes=\"(max-width: 829px) 100vw, 829px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Si nos pide que definamos nuestras dependencias, escribiremos no en ambos casos y despu\u00e9s nos preguntara si estamos de acuerdo con la generaci\u00f3n, escribiremos &#8220;yes&#8221; o daremos a la tecla &#8220;Enter&#8221; y composer en nuestro proyecto generara un archivo en formato .json llamado composer.json.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"349\" height=\"176\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-28.png\" alt=\"\" class=\"wp-image-1394\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-28.png 349w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-28-300x151.png 300w\" sizes=\"(max-width: 349px) 100vw, 349px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Bueno ahora podemos proceder a instalar alguna librer\u00eda podemos buscar muchas en <a href=\"https:\/\/packagist.org\/\" rel=\"nofollow noopener\" target=\"_blank\">Packagist<\/a> en este caso yo instalare para mi plugin la librer\u00eda de <a href=\"https:\/\/packagist.org\/packages\/spipu\/html2pdf\" data-type=\"URL\" data-id=\"https:\/\/packagist.org\/packages\/spipu\/html2pdf\" rel=\"nofollow noopener\" target=\"_blank\">spipu\/html2pdf<\/a> para generar PDFs, esta librer\u00eda se instala con el siguiente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">composer require spipu\/html2pdf<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-29-1024x113.png\" alt=\"\" class=\"wp-image-1395\" width=\"694\" height=\"77\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-29-1024x113.png 1024w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-29-600x66.png 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-29-300x33.png 300w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-29-768x85.png 768w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-29.png 1240w\" sizes=\"(max-width: 694px) 100vw, 694px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-30.png\" alt=\"\" class=\"wp-image-1396\" width=\"695\" height=\"205\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-30.png 937w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-30-600x177.png 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-30-300x88.png 300w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-30-768x226.png 768w\" sizes=\"(max-width: 695px) 100vw, 695px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez ejecutado el comando obtendremos una pantalla como la anterior y en nuestro proyecto se nos habr\u00e1 creado una carpeta con el nombre de vendor.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"348\" height=\"151\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-31.png\" alt=\"\" class=\"wp-image-1398\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-31.png 348w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-31-300x130.png 300w\" sizes=\"(max-width: 348px) 100vw, 348px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">Para hacer uso en nuestro plugin de WordPress<\/span> de las librer\u00edas instaladas con <span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">composer<\/span> y guardadas en la carpeta\u00a0<code><span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">vendor<\/span><\/code>, \u00fanicamente tenemos que preocuparnos de incluir el \u00abautoloader\u00bb que se sit\u00faa dentro de la carpeta vendor y el cual ya se encarga de incluir todas las dependencias en el archivo principal de nuestro plugin.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">&lt;?php\r\n\/*\r\n * Plugin: Demo de Composer\r\n *\/\r\n\r\nrequire_once 'vendor\/autoload.php';<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Con solo la l\u00ednea de c\u00f3digo que hace incluir el fichero\u00a0<code>autoload.php<\/code>\u00a0dentro de nuestro plugin ya estar\u00edamos integrado composer y todas las librer\u00edas PHP que quieras ya que ese fichero se encarga de todo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez incluido el archivo &#8220;vendor&#8221; basta con activar nuestro plugin y programar el c\u00f3digo correspondiente para el uso de nuestra libreria en nuestro plugin.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"aun-con-dudas\"><span style=\"color: var(--theme-palette-color-2, #25ff00);\" class=\"stk-highlight\">\u00bfA\u00fan con dudas?<\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Do you need help with a web project? Don&#039;t hesitate to contact me. I develop complete and customized solutions with WordPress and PHP, using modern tools and processes, HTML, CSS, SCSS, PHP, JavaScript, Bootstrap, and more. Ready? Send me a message and let&#039;s talk about your web project!<\/p>\n\n\n\n<div class=\"wp-block-jetpack-contact-form\">\n\n\n\n\n\n\n\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Imagina que tienes un plugin en WordPress que estas desarrollando, y tienes varias librer\u00edas de PHP que quieres integrar a tu plugin, la forma m\u00e1s com\u00fan de integrar estas librer\u00edas es ir a la p\u00e1gina oficial descargar la version m\u00e1s reciente, una vez descargadas, las copias a tu carpeta del plugin y haces un include pero&#8230; \u00bfNo crees que es muy largo el proceso? pues para y otras cosas existe composer el gestor de dependencias de PHP.<\/p>","protected":false},"author":1,"featured_media":1399,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":"","_glsr_average":0,"_glsr_ranking":0,"_glsr_reviews":0,"footnotes":""},"categories":[11],"tags":[],"niveles":[],"class_list":["post-1368","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sin-categorizar"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"acf":[],"_links":{"self":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts\/1368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/comments?post=1368"}],"version-history":[{"count":13,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts\/1368\/revisions"}],"predecessor-version":[{"id":1403,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts\/1368\/revisions\/1403"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/media\/1399"}],"wp:attachment":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/media?parent=1368"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/categories?post=1368"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/tags?post=1368"},{"taxonomy":"niveles","embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/niveles?post=1368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}