¿Es necesario en alguna circunstancia modificar Wordpress aparte de escribir complementos y temas?

StackOverflow https://stackoverflow.com/questions/203543

  •  03-07-2019
  •  | 
  •  

Pregunta

Hace poco tuve que trabajar en un proyecto donde el desarrollador anterior modificó el directorio wp-admin. Me parece una mala idea, ya que Wordpress se actualiza constantemente. ¿Acaso no estoy en ese nivel de experiencia con la modificación de Wordpress?

¿Fue útil?

Solución

Al ser de código abierto, creo que es algo común que un software como WordPress se modifique y amplíe en cualquier momento.

Modificar o no modificar es una opción entre compensaciones. Las nuevas características se pueden encapsular como módulos, lo que puede, quizás, hacer que su funcionalidad sea menos integrada de lo deseado. Sin embargo, la integración completa de los cambios puede dificultar la fácil actualización del software a medida que se lanzan nuevas versiones.

Requiere que alguien esté muy familiarizado con el software para modificar el software directamente, pero esto no es necesariamente una mala idea.

En una nota al margen, creo que modificar WordPress es casi una necesidad, especialmente si desea que tenga una arquitectura decente o que sea realmente segura (bueno, eso fue un golpe, pídame una demanda).

Otros consejos

Bueno, es una mala idea solo porque significa que ahora eres responsable de mantener una bifurcación de facto interna ... cada vez que WordPress lanza una actualización, tienes que hacer una diferencia de tres vías para combinar tus cambios en el nuevo " real " WordPress. (Diferencia de tres vías significa que usted hace una diferencia entre su bifurcación de la versión anterior y la versión antigua estándar para crear un conjunto de parches, y luego aplicar ese conjunto de parches a la nueva versión). También debe usar un VCS para mantenerse. cuerdo.

Si no estás preparado para esto, entonces no lo estás haciendo, no hay nada de malo en seguir el principio KISS y no deshacer el código de la aplicación.

Si puede escribir un complemento que haga lo mismo y lo haga con la misma eficiencia, debería hacerlo para no tener que mantener su propio tenedor.

Sin embargo, hay muchas cosas en las que WordPress es terrible (eficiencia, seguridad) que puede mejorar (a veces sin mucho trabajo, simplemente deshabilitando el código que no necesita) solo hackeando el código de la aplicación. WordPress es un código de espagueti heredado y original escrito originalmente por personas con un conocimiento prácticamente nulo del software o el diseño de bases de datos, y hace muchas cosas tremendamente estúpidas como consultar la base de datos en cada solicitud para ver lo que es propio siteurl es, cuando esto nunca cambia, no hay nada de malo en tomar 5 minutos para cambiar 2 líneas de código, por lo que ya no hace esto.

Trabajé como líder tecnológico en un blog que ocupaba los 20 primeros puestos de Technorati e hice un gran trabajo para escalar WordPress en un solo servidor y luego en un clúster (con servidores separados para el acceso de administrador frente al público). Teníamos proxies inversos ascendentes (es decir, Varnish o Squid) que actuaban como aceleradores HTTP y un sistema interno de caché de fragmentos de objetos / páginas que se conectaba a memcached con conmutación por error al almacenamiento en caché del sistema de archivos utilizando PEAR :: Cache_Lite. Tuvimos que modificar WordPress para hacer cosas como enviar encabezados HTTP sanos y fáciles de almacenar en caché, para deshabilitar una gran cantidad de SQL y procesamiento innecesarios.

Modifiqué WP para que se ejecute utilizando el motor de almacenamiento de clúster NDB de solo memoria de MySQL, lo que significaba especificar índices en muchas consultas (al final optamos por un clúster replicado). Al modificarlo para que se ejecute con servidores separados para el acceso de administración frente a público, bloqueamos la versión del lado público, por lo que funcionó con privilegios de MySQL muy reducidos que solo permitían lecturas (un tercer usuario de MySQL obtuvo privilegios de comentarios).

Si tiene un problema grave de spam de comentarios (es decir, 10 K / hora), entonces tiene para hacer algo más allá de los complementos. Spam te enviará DOS porque WordPress simplemente inicializando su núcleo es algo así como medio segundo en un P4 independiente sin concurrencia, y dado que WP es una bola de código no es posible hacer nada sin inicializar primero el núcleo.

" WP-Cron " es braindead y debe desactivarse si tiene acceso a un crontab real para realizar estas funciones. No es difícil de hacer.

En resumen, podría continuar enumerando por qué es posible que desee hacer modificaciones.

A lo largo de todo esto, por supuesto, fue un objetivo por razones de mantenimiento mantener estas modificaciones al mínimo y documentarlas lo más claramente posible, e implementamos muchos como complementos cuando tenía sentido.

En una combinación de blog / foro, pirateamos el procedimiento de registro para que las personas rellenaran un formulario para suscribirse a WordPress y phpBB al mismo tiempo. Estoy seguro de que hay una mejor manera de hacerlo con los complementos, pero tuvo un beneficio inesperado: realmente confunde a los robots de spam. A pesar de tener varios de ellos registrados cada día, hemos tenido cerca de dos publicaciones de spam en la vida del foro.

No es algo que recomiendo, por supuesto, nos impide actualizar cualquiera de los programas.

Tiendo a defender fuertemente la modificación del código central si es posible, especialmente en un proyecto que se actualiza como WordPress. Si WordPress no se puede hacer para hacer lo que necesita con complementos y similares, probablemente esté mejor con un sistema más extensible / genérico como Drupal. Piratear un CMS orientado a los blogs en otra cosa podría no valer la pena.

En las versiones anteriores de WordPress (1.0 e incluso las primeras 2.0), no me importaría modificar WordPress en sí.

Sin embargo, la arquitectura de WordPress ha madurado. Las barras laterales ya no necesitan ser codificadas manualmente. En su lugar, puedes trasladar tu tema para usar widgets y simplemente crear widgets (¡lo que es una bendición!). No me gusta cómo se muestra algo, ¡solo modifica el tema! ¿No te gusta cómo maneja algo WordPress? Crear un plug-in. Me cuesta mucho pensar en una razón para modificar el código de WordPress que no puede manejarse a través de los componentes modulares contemporáneos de WordPress (widgets, complementos, temas).

Soy el tipo de persona que siempre se pone " bajo el capó " En aplicaciones de código abierto como WordPress. Sin embargo, hoy en día, realmente no hay una buena razón para modificar el código central de WordPress.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top