¿Cuáles son algunas de las razones por las que no debe hackear los archivos principales de WordPress?

8

A menudo, una solución rápida a un problema, puede solucionarse pirateando el núcleo de WordPress, que está cambiando el código que es WordPress.

¡Este es un camino muy peligroso para tomar! ¡No lo hagas, nunca!

Siempre se puede cambiar el funcionamiento de WordPress, mediante el uso de complementos. A veces, esto puede ser bastante aburrido y difícil, pero el trabajo adicional siempre supera los problemas que surgen al cambiar el núcleo de WordPress en sí.

Algunos dirían que puede haber situaciones en las que hackear el núcleo es la única solución, pero si está haciendo preguntas, definitivamente no está en esa situación .

Esta pregunta pretende ser una introducción a un trabajo colectivo de por qué nunca debe hackear el núcleo de WordPress, que podemos usar como referencia. Si tiene algo que agregar, siéntase libre de agregarlo como una pregunta.

    
pregunta googletorp 04.07.2016 - 16:47

5 respuestas

6

¡La mejor razón para no hackear el núcleo es que cualquier cosa que estés haciendo debe ser revisada como un parche para el núcleo en su lugar!

Obviamente, TODO tu código no sería un buen parche, o al menos rara vez lo haría. En su lugar, debe averiguar qué gancho (acción o filtro) falta en el núcleo que le permitiría hacer lo que sea necesario sin piratear el núcleo. No necesitamos piratear el núcleo cuando hay filtros / acciones adecuados, por lo que encontrar el gancho faltante siempre eliminará la necesidad de piratear el núcleo.

A menudo, esto puede requerir un poco de resolución de problemas y un trabajo complicado, pero a menudo no es lo que sucede si descubre que ya hay un gancho para resolver su problema , por lo que no tiene para hackear el núcleo!

En el raro escenario en el que realmente no hay ningún gancho, solo necesitas publicar en trac explicando por qué tu gancho necesita existir. Si confiesas tu nuevo gancho, entonces tienes un hackeo temporal de 1 línea al núcleo que no tendrá que preocuparte la próxima vez que actualices.

Incluso si apesta a que se hagan las cosas en el trac de Núcleo (se necesita algo de convincente para comprometerse), al menos ha hervido su troceado de núcleo al mínimo posible: 1 línea de código para su acción / filtro. Cuando actualice WP, ahora ha reemplazado todo el código que introdujo en el núcleo con una línea que debe actualizarse, ¡y su complemento puede seguir igual!

    
respondido por el jerclarke 11.09.2010 - 22:24
3

También existe el hecho de que, una vez que actualiza WordPress a la última versión, todos sus cambios en los archivos principales se sobrescriben

    
respondido por el Tom J Nowell 12.09.2010 - 15:34
3

Creo esto, directamente desde WordPress Codex , lo dice todo:

:)

    
respondido por el MikeSchinkel 09.03.2017 - 19:04
1

Ha habido 3 veces y media que he necesitado hackear el núcleo para resolver un problema.

1) Fue una corrección de errores. Lo informé como un error en Trac junto con un parche de diferencias. La funcionalidad se está volviendo a trabajar en la próxima versión de WP, básicamente invalidando el error. Hasta entonces puedo aplicar fácilmente el parche que he creado en las instalaciones actuales / nuevas.

2) Era para agregar un registro muy detallado para intentar localizar un problema muy específico que un usuario estaba encontrando. No es una situación cotidiana, y ciertamente no está relacionada con la funcionalidad.

3a) Quería agregar un campo adicional a Categorías en WP 2.8.5. Los ganchos incorporados para hacer esto no funcionaron correctamente (problema conocido), y creo que este problema en particular se solucionó en el árbol 2.9. Al final del día, la implementación fue defectuosa y rediseñamos la función para que funcione de una manera diferente que no requiera una modificación del núcleo.

3b) Pensé que necesitaba modificar el núcleo para cambiar los enlaces de moderación de comentarios, pero mientras buscaba, encontré algunos enlaces que no conocía y pude implementar la función como un complemento.

    
respondido por el gabrielk 13.09.2010 - 21:18
1

Esta advertencia es muy antigua, mucho antes de los tiempos de los sistemas de control de versiones descentralizados como Git . En aquellos días, para hackear el núcleo, necesitabas mantener tus cambios como un conjunto de parches tuyos. Debido a que algunos desarrolladores (en su mayoría inexpertos que jugueteaban con Wordpress) no hacían parches para realizar un seguimiento de sus cambios, se encontraron con un problema: al final tuvieron problemas con la actualización de Worpdress a la nueva versión y nació el dicho.

La advertencia fue más o menos una referencia lateral cultural a "Cada vez que te masturbas ... . Dios mata a un gatito " imagen subtítulo y obviamente significa diversión. Sin embargo, se mencionó la analogía entre "hacking wordpress core" y "masturbating" . Esto probablemente ha llevado a una cierta popularidad.

Claro que el hacking core es una espada de dos caras y supongo que es por eso que has preguntado.

En primer lugar, es perfectamente válido, posible y viable tanto en el pasado como en el presente para hackear el núcleo. En el pasado, con conjuntos de parches y aún más fácil hoy en día, utilizando git y el git repo de Wordpress disponible públicamente en Github .

En lugar de decirles a los usuarios (que quizás ni siquiera entiendan de qué se trata) que son tontos al hacer bromas sobre ellos, es mejor animarlos y educarlos.

También, y este es uno de los lados más oscuros de la historia de Wordpress, la comunidad de Wordpress no promueve bien aquí. A pesar de que en cierto modo alienta a los usuarios a llevar los cambios en sentido ascendente (es decir, al repositorio de códigos original), lo que normalmente es bueno, Wordpress no hizo nada por las bibliotecas que han incorporado a su árbol desde fuentes ascendentes. Así que mantén estos dichos a la ligera, no es nada que los desarrolladores de Wordpress lead y core hayan seguido por el código que han recibido de otros también.

Entonces, si juzgas el dicho mirando las manos de los desarrolladores, es solo una broma, es solo una referencia cultural vulgar.

La mejor sugerencia que puedo dar es si eres un desarrollador y quieres hacer cambios en el núcleo, hazlo. Hágalo de la forma que le guste a usted , no a los demás. Wordpress es software libre por una razón y debe sentirse orgulloso de él y de lo que usted está haciendo con él. En público o en privado. Si está buscando formas de hacer esto más factible, cree un flujo de trabajo a su alrededor como lo haría también si estuviera haciendo otro tipo de trabajo de desarrollo.

    
respondido por el hakre 23.05.2013 - 11:45

Lea otras preguntas en las etiquetas