Cómo hacer que su mu-plugis sea compatible con el compositor (y por qué)


Somos grandes partidarios de la gestión de adicciones en nuestros proyectos con el compositor de paquetes Administrador. Es esencial asegurarse de que la misma versión de adicciones se use en entornos de desarrollo que en la producción, junto con la fácil actualización de estas adicciones. El compositor con WordPress es un problema complicado, pero algo que funciona bien para la gestión de todo el sitio. Tanto DeliciousBrains.com como Spinupwp.com son sitios de WordPress con archivos básicos, complementos y temas administrados por el compositor. Administrar complementos y WordPress.org gratuito con compositor es fácil debido al maravilloso almacén WPackagist e incluso es posible el uso de complementos premium con compositor, dependiendo del autor del complemento.
Pero, ¿qué pasa con los complementos obligatorios de WordPress? En esta publicación, te guiaré por qué y cómo usar los Mu-Plugins con el compositor. MU-Plugins: otro tipo de complementos de WordPress, los complementos son un tipo especial de complemento de WordPress. Se instalan en un director diferente dentro de la cuenta WP-cuenta y, a diferencia de los complementos normales que son activados o desactivados por un administrador, WordPress cargan automáticamente estos complementos. Por lo general, los complementos obligatorios son archivos PHP únicos que proporcionan una cierta funcionalidad que debe permanecer en el lugar, independientemente del tema utilizado o por qué se activan los complementos. Los complementos obligatorios se cargan antes que los complementos y los temas tradicionales durante el arranque de WordPress, por lo que a veces es una forma necesaria de conectar las cosas antes de los complementos.
Está acostumbrado a escuchar a los desarrolladores y blogs de WordPress que respaldan la necesidad de mantener los cambios de PHP en las funciones. Sin embargo, si un mu-plugin no es solo un solo archivo, lo que significa que tiene archivos de complemento contenidos en un directorio como un complemento tradicional, WordPress no cargará esa mu-pluin. WordPress solo cobra archivos individuales en el directorio WP-Context/Mu-Plugins (que no existe en las instalaciones de vainilla WP, por lo que deberá ser creado), por lo que para cargar un complemento necesita un archivo de arranque adicional, por ejemplo : WP-Content/Mu-Plugins/My-Plugin/My-Plugin.php WP-Content/Mu-Plugins/My-Plugin/Assets/… WP-Content/Mu-Plugins/Load-My-Plugin.plugin.plug Donde el contenido Load-My-Plugin.php es algo así como: <? Php require_once __dir__. '/My-plugin/my-plugin.php`, ¡así que ahora su complemento se carga automáticamente por WordPress! Para ser honesto, para la mayoría de los mu-plugs, esto es genial y todo lo que necesitas. Especialmente porque la mayoría del código MU-Plugin será muy específico para su sitio, por lo que se puede almacenar en el control de versiones en lugar de ser administrados por el compositor. ¿Por qué manejar los mu-plugins con el compositor? Definitivamente puedes manejarlo sin tratar con el compositor, pero recientemente me encontré con un escenario en el que el compositor me haría mucho más fácil.
Necesitaba compartir el código en DeliciousBrains.com con el sitio web spinuwp.com. Hablé más detallado sobre las razones en la parte posterior, pero las enfatizaré aquí. Para el sitio específico del sitio, prefiero mantenerlo fuera de los complementos de WordPress o incluso MU-Plugins, en una aplicación junto a mi director público. Luego puedo beneficiarme de la carga automática de PSR-4 con el compositor, para que pueda crear nuevas clases e instantángalas en cualquier lugar sin tener muchas instrucciones de archivo requerir_once al comienzo de mi código. Puede ver un ejemplo de cómo se estructura el sitio aquí, que es nuestro punto de partida para los sitios web de WordPress basados ​​en el compositor, que están listos para ser alojados con spinUpwp. En forma de tweets) en realidad se gestionan en el tablero como una publicación personalizada y su ubicación en el sitio se controla utilizando campos personalizados avanzados. Tenemos una configuración similar para nuestras barras de alerta que a veces aparecen en la parte superior del sitio cuando lanzamos algo nuevo o tenemos una promoción especial (si accede a nuestra página SES de descarga de WP en este momento, puede ver una en acción). Necesitábamos responder la misma funcionalidad en spinupwp.com, por lo que era lógico reutilizar el código existente.
Inicialmente pensé que sería tan simple crear nuevas bibliotecas de código que podría alojar en GitHub, con un enlace en Packagist.org, para poder pedir fácilmente el compositor. El código permanecería en /proveedor y podría instantáneamente instantarse cualquier clase en un complemento o un tema del sitio. Sin embargo, debido a que los paquetes deben cargar JavaScript y CSS en el frente del sitio (por ejemplo, cargar las barras de alerta para evitar el caché de la página), no pude ver cómo acceder a estos archivos con una URL si vivían. en proveedor, fuera de la raíz pública. Decidí empacar el código como mu-plugs, en lugar de un complemento regular, ya que no deben deshabilitarse y son parte del código esencial del sitio. Haga que el compositor MU-plugins esté listo para hacer cualquier complemento o mu-plugin Listo para trabajar con el compositor, necesita un archivo composer.json. Aquí le decimos al compositor qué tipo de paquete es. Los tipos de paquetes de WordPress están definidos por el paquete de instaladores de compositor, que nos permite usar "WordPress-Plugin", "Wordress-Theme" y "WordPress-Muplegin" para mu-pluli: composer.json de nuestro paquete se vería así : {Nombre: "delicioso/my-mu-plugin", descripción: "WordPress debe ser complemento para hacer cosas", Licencias: "LPL-2.0+", Tipo: "WordPress-Muplin", Request: {compositor/instaladores : "~ 1.0"}} Una vez que envié este almacén de paquetes a GitHub y etiquetado como la versión 1.0, puedo enviarlo a paquetegist.org.
En el proyecto del proyecto, debemos asegurarnos de que el compositor sepa exactamente dónde colocar los paquetes con el tipo "WordPress-Muplogin", que podemos hacer agregando un elemento adicional a la configuración del instalador: "Installer-Path": { "Public/Content/Mu-Plugins/{$ name}/": ["Tipo: WordPress-Muplogin"], …} Entonces podemos decirle al compositor que solicite este paquete, como cualquier otra adicción, en nuestro sitio de WordPress Proyecto: el compositor requiere delicioso/my-mu-plugin listo con arranque manual Si ha seguido, es posible que se pregunte cómo WordPress estará ahora en WP-Content/Mu-Plugins/My-Mu-Plugin.Como mencionamos anteriormente, WordPress solo cargará archivos individuales en el directorio, por lo que necesitamos crear un archivo adicional para iniciarlo.Pero este es un proceso demasiado manual y ¿qué sucede la próxima vez que agrego un paquete de compositor mu-plugin?

Una de las ventajas de administrar un sitio con compositor es que es muy simple comenzar y ejecutar en el proyecto. Clone el repositorio, establezca una configuración ambiental y luego ejecute la instalación del compositor. No es ideal para crear archivos Bootstrap para MU-Plulis. Ingrese WP Must-Re Plugin Loader, un ingenioso paquete compositor de Luke Woodward. Crea un nuevo archivo dentro del WP-Context/MU-Plugins que cargan cualquier complemento en los directores dentro del director de MU-Plugins. Esto podría hacerse con su propio archivo, pero tener esto como un paquete compositor significa que su propio paquete Mu-Pluin puede requerir esto, por lo que debe hacer menos dentro del proyecto. Si su sitio se basa en Bedrock, es posible que haya encontrado su cargador de complementos MU-Plun.WP MUS MUS MUS, es una excelente solución para evitar cómo WordPress carga MU-pluli sin necesidad de hacer nada más que la necesidad del paquete. La conclusión de que espero fue una buena introducción a los complementos que se utilizarán y cómo usarlos con el compositor. El compositor es de hecho una excelente manera de administrar las adicciones en su proyecto y me alegra que pueda usarlo tan completo con WordPress. Nota secundaria: si usa nuestros complementos premium con el compositor, ¡vea esta actualización sobre la autenticación! ¿Ha utilizado complementos obligatorios con el compositor? ¿Cómo se comparte el código de WordPress entre proyectos? Dinos en los comentarios.

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *