¿Cuál es la mejor manera de modificar un complemento? Con frecuencia quiero hacer pequeños cambios en una o dos funciones dentro de un complemento grande. Esto se hace fácilmente, pero tengo que usar comentarios para marcar mis cambios y modificar el complemento nuevamente después de una actualización. Idealmente, me gustaría dejar el complemento solo y hacer mis cambios en otro lugar, al igual que lo hacemos con los temas y los temas secundarios. ¿Puedo hacer un complemento que requiera el complemento principal y lo anule?
plugins
customization
Mike Wheaton
fuente
fuente
Respuestas:
En mi humilde opinión, el mejor enfoque es bifurcar el complemento para mantener sus cambios, o bien enviar parches al desarrollador del complemento, para que sus cambios formen parte del complemento original.
Crear un "complemento infantil" realmente no es fácil. El concepto "Tema infantil" realmente se aplica a los archivos de plantilla que se usan, más que las funciones del tema (y, de hecho, el
functions.php
archivo de Parent y Child se carga, lo que causa problemas para losfunctions.php
archivos codificados incorrectamente en Child o Parent Tema).fuente
La forma "correcta" obviamente depende del complemento. Algunos complementos son más fáciles de editar que otros, pero la mayoría de los complementos pueden ser modificados por otros complementos.
Por ejemplo, si un complemento tiene una función enganchada en WordPress con una acción, entonces es simple que cree otro complemento que desenganche esa función con remove_action, y luego agregue su función de reemplazo. Este tipo de método le permitirá reemplazar funciones individuales en complementos con sus propias versiones modificadas, sin modificar el complemento original.
El mismo concepto funciona con filtros, obviamente.
fuente
La mejor manera sería simplemente clonarlo y cambiar el Nombre del complemento en el encabezado y cambiar el nombre del directorio. De esta manera, también podría tener el original instalado pero no activado para que aún reciba alertas cuando se publiquen las actualizaciones.
fuente
Esto es relativamente fácil si el complemento está bajo el control de origen de Git debido a la naturaleza distribuida de Git, pero muchos complementos de WordPress (y todos los del repositorio oficial) están en Subversion. Uso ramas de proveedores y svn_load_dirs.php si realmente necesito modificar un complemento, pero esto requiere un nivel de comodidad razonablemente alto con Subversion.
Si el complemento no expone ningún repositorio, recomendaría convertirlo usted mismo en un repositorio Git y aplicar manualmente nuevas versiones.
Al final, los sistemas de control de versiones son la única forma sensata de volver a aplicar los cambios a las nuevas versiones anteriores.
fuente
Estoy de acuerdo con la respuesta de Annika Backstrom , pero me gustaría compartir mi solución preferida.
Como la mayoría de los complementos están bajo svn, utilizo una herramienta llamada git-svn para hacer un espejo git.
Luego, simplemente hago una rama y confirmo mis cambios allí.
Cuando el complemento se actualiza en sentido ascendente, solo saco del repositorio svn y me fusiono en mi rama personalizada.
fuente