¿Cuál es la importancia de escribir un complemento compatible con WP 3.x en la actualidad?

8

Actualmente estoy escribiendo un complemento simple-ish con publicaciones personalizadas y un par de funciones, utilizando los metadatos de publicación y agregando un par de variables a la tabla de "opciones" en la base de datos. Durante mi investigación, vi algunas referencias en WP Codex sobre cómo hacer que el complemento fuera compatible con versiones anteriores a WP 3.x y me preguntaba qué tan importante es ahora incorporar esa compatibilidad.

Por ejemplo, la versión más antigua de WP que alguna vez vi instalada (por un cliente) era 3.2, o en algún lugar por allí. No puedo imaginar a muchas personas que tengan algo más viejo que 3.x pero podría estar equivocado. Sé que, en teoría, siempre debes intentar que sea perfectamente compatible pero, de manera realista, ¿alguien sabe lo importante que es incluir esa capacidad?

Gracias

    
pregunta Mike Stumpf 14.08.2013 - 17:15

5 respuestas

10

Siempre escriba complementos para la versión actual y tenga en cuenta las compilaciones nocturnas de las próximas versiones. Cualquier otra cosa no importa.

Editar Como @toscho señaló en un comentario:

Puede haber alguna explicación necesaria para explicar por qué es de esa manera.

  1. Porque yo lo digo.
  2. Los complementos solo deben ser compatibles con el núcleo porque si todos juegan con las reglas, nada fallará. Si un complemento no juega con las reglas, entonces tiene un bug . Y ese error necesita ser arreglado y no otra cosa y no otro plugin o tema.
  3. Los usuarios que no actualizan WordPress son el resultado de complementos con errores que se utilizan y no se pueden abandonar en los sistemas sin mucho trabajo. Como está escrito en (2), hay errores que no te deben preocupar. Los errores deben solucionarse, no su plugin considerando el código de terceros roto.
  4. Código heredado no necesita asistencia. Necesita reemplazo. No es tu problema.
  5. Las cosas cambian a gran escala en las principales versiones de X.X. Cuando intenta admitir versiones anteriores, a menudo necesita soluciones alternativas y muchas comprobaciones de versiones. Eso es (a) una pesadilla de mantenimiento (b) aumenta el código base (c) hace que las pruebas unitarias sean imposibles, ya que tienen que ejecutarse en una versión una , no menos, ni más y finalmente (d) disminuyen Espacio y rendimiento del disco del servidor (en la mayoría de los casos).
  6. WordPress ya tiene una base de código muy antigua que carece de mejoras en muchos bordes y esquinas. En resumen: WordPress es antiguo, usa una versión de PHP que ya no es compatible como mínimo y, por lo tanto, ya está soportando versiones anteriores en niveles mucho más bajos que en la API pública de su aplicación.

Ahora ve a preguntarte:

  

Cuando ya soporta una versión de PHP que ya no es compatible, ¿por qué querría admitir una aplicación que ni siquiera es compatible con sus creadores?

    
respondido por el kaiser 14.08.2013 - 17:34
5

Recuerde que el lanzamiento de WordPress 3.0 requiere PHP5. En ese momento, muchas empresas de alojamiento todavía no estaban ejecutando PHP5 en sus servidores. Así que hubo un período de tiempo en el que algunos sitios de WordPress NO PODRÍAN actualizar a WordPress 3.0 porque sus compañías de alojamiento no mantenían sus servidores actualizados.

Ya han pasado muchos años (3+) desde el lanzamiento de WordPress 3.0, por lo que al ser compatible con versiones anteriores de WordPress < 3.x no es un complemento muy común.

    
respondido por el Rachel Baker 14.08.2013 - 18:47
5

La mayoría de las instalaciones de WordPress están desactualizadas . Actualmente, solo el 5.2% de todas las instalaciones se ejecutan en la última versión 3.6.
El 27.3% todavía está en la versión 3.0.

Podría pensar que tiene que admitir estas versiones anteriores con un código compatible. Pero piensa en las implicaciones:

  • Debe probar todas las versiones compatibles oficialmente.
  • Tienes que manejar API incompatibles como el cargador de medios, que cambió drásticamente en 3.5.
  • Haces que tus usuarios piensen que está bien no actualizar WordPress, porque aún funciona.
  • Necesita más código, más pruebas y más tiempo para que el soporte técnico haga las mismas cosas.

Y es probable que los usuarios de estos ni siquiera instalen su complemento porque saben que los complementos nuevos ya no están en su sitio. En términos de alcance en el mercado, puede ganar un poco con un código compatible hacia atrás. En términos de eficiencia se pierde.

    
respondido por el fuxia 14.08.2013 - 20:47
4

Mi regla de oro para los complementos que escribo es el soporte para la versión actual menos 1, por lo que todos los complementos que escribo serían compatibles con 3.6.xy 3.5.x. Si bien un complemento en particular puede funcionar en versiones anteriores, no lo garantizo ni lo apoyo si tiene problemas.

    
respondido por el JohnG 14.08.2013 - 17:46
3

Hace cuatro meses, asumí el mantenimiento de un complemento popular. Antes de comenzar a trabajar en él, el complemento no había sido actualizado en 2 años. Hice varias correcciones de errores, lancé la nueva versión y dos días después escuché a un tipo que dijo que la nueva versión causó la pantalla blanca de la muerte en su sitio. Después de verlo, todavía estaba ejecutando WordPress 2.9.2, y mi actualización usó la función home_url, introducida en 3.0. No tengo idea de por qué el chico decidió actualizar este complemento inmediatamente, a pesar de que no había actualizado su instalación de WordPress en 3 años. Cuando hice la nueva versión, nunca pensé en probar WordPress 2.9.2.

Aquí está la moraleja de la historia: en el archivo readme.txt de su complemento, hay un archivo "Requiere al menos "número de versión en el encabezado. Utilízalo A medida que realice actualizaciones, si no tiene ganas de probar versiones anteriores, increméntelo. Eso desalentará a los usuarios que se niegan a actualizar sus instalaciones de WordPress para que no actualicen su complemento.

Actualmente estoy escribiendo un nuevo complemento relacionado, y estoy planeando hacerlo solo para WordPress 3.6, porque quiero usar la biblioteca getid3 incluida en el núcleo. No deseo lanzar un nuevo complemento para una versión anterior.

    
respondido por el Ben Miller 14.08.2013 - 22:36

Lea otras preguntas en las etiquetas