¿Por qué se considera que WordPress está mal programado? [cerrado]


No soy un fan de PHP o código spaghetti, o algo así, pero en mi experiencia WordPress funciona increíblemente bien, está bien organizado, y nunca he encontrado ningún código difícil de entender. La documentación es increíblemente completa, cualquier falla de seguridad se corrige en segundos, y "simplemente funciona". Sin mencionar que lo hace TODO, y tiene un sistema de plug-in impresionante. Y "the Loop" es increíble. Nunca he tenido ningún problema haciendo modificaciones simples al código o a temático.

¿Pueden dar algún ejemplo específico de lo que no les gusta de esto, o lo que habrían programado de manera diferente? No entiendo por qué tiene tan mala reputación. Desearía que mi propio software funcionara también y tuviera tantas características y se viera tan bien.

Author: IAdapter, 2009-09-26

6 answers

Soy un fan de WordPress, pero definitivamente hay problemas que impiden a los programadores tratar de trabajar con él. Como un pequeño ejemplo, hay get_the_content() (devuelve) y the_content() (imprime), pero hay get_permalink() y the_permalink(). Luego, hay solo the_date(), porque acepta un argumento que indica si desea que se imprima o devuelva. Este tipo de cosas lleva incluso a una persona experimentada de WP a la pared, porque siempre tienes que buscar en Google el uso , y habla de una falta más profunda de atención al detalle en el codificar.

Otro problema evidente es la falta de almacenamiento en caché integrado. Incluso solía tenerlo, pero lo arrancaron y nunca lo reemplazaron. No debería necesitar un complemento de terceros para tener almacenamiento en caché básico en un sistema como WordPress, particularmente con todas las otras campanas y silbatos que construye.

Parafraseando (supuestamente) a Churchill, sin embargo, "WordPress es el peor sistema de blogs... excepto por todos los demás".

 57
Author: ceejayoz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-26 18:40:31

He escrito muchas aplicaciones personalizadas en PHP/MySQL a lo largo de los años, desde pequeñas hasta enormes. Al no haber tomado el tiempo para aprender los detalles de WordPress, me resulta muy frustrante trabajar con (bajo el capó).

Subjetivamente:

  • Convenciones de nomenclatura muy pobres
  • El flujo de ejecución es extraño
  • Falta general de organización
  • Difícil auditar lo que sucede cuando
  • etc...

Sus conceptos de usabilidad es genial, y soporte para plugins también es genial. Me encantaría ver el sistema rediseñado con esos principios, pero con una metodología de desarrollo disciplinada y clara.

Estoy seguro de que el siguiente tipo diría "no, no lo es, bla bla bla", pero esa es solo mi opinión después de chocar con él (alojamiento, modificación) alrededor de 3 veces.

 13
Author: gahooa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-26 17:36:19

Es una pregunta subjetiva. Por experiencia, he notado que WP toma mucho, mucho más recursos de servidor que otros sistemas o mi código personalizado. He tenido que mover sitios WP fuera de mis servidores como consecuencia. Así que mi experiencia sugiere que hay algunos problemas de uso de la memoria.

Como ejercicio, intente revisar el código, rastreando la lógica desde el inicio de una solicitud hasta una página, y observe cuántos objetos se cargan, cuántos métodos se llaman antes de que se produzca cualquier HTML.

 10
Author: Devin Ceartas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-26 17:23:08

Aparte de lo que ya se ha mencionado:

No hay un sistema de plantillas cuerdo. Todos esos años y todavía tienen código PHP entrelazado con HTML, y plantillas predeterminadas que no tienen soporte para i18n o l10n en absoluto(cadenas codificadas, formatos de fecha codificados, etc.).

Múltiples puntos de entrada - tal vez soy solo yo, pero es molesto. Especialmente cuando algunos de esos son demasiado grandes.

 7
Author: Cat Plus Plus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-26 20:22:47

Pueden ustedes dar cualquier específico ejemplos de lo que no te gusta o lo que habrías programado ¿diferente?

Habría añadido más comentarios.

En una nota aparte, la versión más reciente de Wordpress introdujo una pieza laberíntica de código que niega el acceso a las páginas que: 1. No están en un menú o submenú 2. No están en la variable $_registered_pages.

Muchos complementos para versiones anteriores de Wordpress se han roto por esto nueva medida de seguridad.

Finalmente, sesiones. Wordpress hace todo lo posible para salirse de tu camino manejando todos sus datos de sesión de una manera separada de la variable incorporada PHP _SESSION de PHP, pero no te da la opción de iniciar la sesión de PHP, tienes que agregarlo al programa principal tú mismo. Tampoco he encontrado documentación que nos permita a los hackers de WP y escritores de complementos aprovechar la sesión de WP preexistente.

 4
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-28 02:00:46

Cuando tienes que estar seguro de una declaración que es hecha por "todo el mundo", si puedes, está tratando de comprobarlo por ti mismo.

Y puedes hacer algo en tu declaración: simplemente lee el código fuente de Wordpress. Algunos módulos son buenos, algunos son un desastre, algunos otros son simplemente normales. Pero todos ellos componen un gran sistema de blogs que son utilizados por miles de personas en todo el mundo que están más interesados en escribir cosas buenas en lugar de quejarse de "lo feo" es una fuente en particular codificar. En resumen, los creadores de Wordpress tienen un producto enviable que es útil .

Al final, no importa. Si quieres un sistema de blog perfecto, siempre puedes escribir uno tú mismo.

 3
Author: GmonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-28 00:21:29