Estoy desarrollando un par de complementos de código abierto y un tema (todo parte de una "suite") que utilizan la misma biblioteca PHP de terceros. Me pregunto cuál es la mejor manera de incluirlo en Wordpress. Aquí hay algunos pensamientos:
- ponlo en uno de los complementos y requiere que ese complemento esté instalado y activado
- crear un complemento especial "central" que no haga nada más que incluirlo
- ponlo directamente en
wp-content
¿Alguna idea al respecto?
Respuestas:
Si cada plugin / tema funciona por sí solo, entonces probablemente debería colocar la biblioteca en cada tema / plugin.
Luego, verifique si existe una clase o función de la biblioteca de terceros antes de requerirla.
o
Alternativamente, puede ajustar cada función / clase / variable / constante de la biblioteca de terceros en una comprobación para ver si existe, como funciones conectables .
Si todos los complementos y el tema dependen unos de otros, entonces no tiene mucho sentido dividirlos y probablemente debería repensar eso.
fuente
library
carpeta en cada plugin / tema. Luego, en su archivo de complemento principal, ejecute la verificación e inclúyalos si es necesario.Enlace todo el código dependiente a una acción en el complemento de la biblioteca.
Código de muestra para el complemento de biblioteca:
En su código dependiente, no haga nada antes de que se llamara a la acción:
La biblioteca maneja todas las partes básicas: verifique la versión adecuada de PHP, las constantes de WordPress, las configuraciones de múltiples sitios, etc.
El otro código no hará nada si
'library_loaded'
no se llama a la acción .fuente
Agregando a la respuesta por chrisguitarguy, si sus bibliotecas están en forma de clases PHP, entonces puede utilizar spl_autoload_register () para cargar esas clases si no han sido cargadas por otro complemento. Luego puede agrupar las bibliotecas en su complemento y simplemente usarlas, confiando en el cargador de clases para incluirlas cuando sea apropiado. También puede usar el cargador de clases para cargar las clases de su propio complemento.
p.ej
fuente
Como no existe un directorio oficial de proveedores , optaría por el complemento "principal" que no hace nada más que incluir la biblioteca. Luego haces que tus complementos requieran ese complemento central.
Poner la biblioteca en uno de sus complementos reales requeriría que el usuario tenga ese complemento habilitado, aunque es posible que nunca quiera usar su funcionalidad. Un complemento de núcleo separado parece más limpio.
Ponerlo directamente en wp-content parece la peor solución.
fuente