Al desarrollar un complemento, ¿hay alguna forma de determinar automáticamente la versión mínima de WordPress que se requiere para ejecutarlo? Quiero asegurarme de que el Requires
encabezado sea preciso, pero verificar manualmente cada vez que llamo a una nueva función principal es tedioso y propenso a errores.
Estoy pensando que un guión podría resolverlo con bastante facilidad:
- Escanee todos los archivos en un complemento.
- Analizar todas las instancias de clase y llamadas a funciones basadas en el
new foo( [...] )
,foo::bar( [...] )
,bar( [...] )
,call_user_func( [...] )
, etc sintaxis. - Analice la fuente de WP para determinar cuándo se agregaron cada una de esas clases / funciones a WordPress, utilizando la
@since
etiqueta phpDoc. - Genere un informe que enumere cada clase / función y la versión que se agregó, junto con la versión más antigua de WordPress que incluye todas las clases / funciones.
Miré a mi alrededor pero no pude encontrar nada parecido, y no tengo tiempo para escribirlo yo mismo. ¿Alguien sabe de una solución existente?
Respuestas:
Encontré una solución como un servicio automatizado en http://wpseek.com/pluginfilecheck/
Es exactamente lo que se solicitó, incluida la generación de una lista de funciones utilizadas y una sugerencia para los comentarios del encabezado del complemento.
fuente
Actualización: esto ya no es exacto. Ver la respuesta de carstenbach .
Bueno, parece que la respuesta es "No, no existe una solución para esto".
Si alguien quisiera escribir uno, estos podrían ser útiles:
Creo que el comentario de Mark sobre la creación de la característica en el repositorio de WordPress.org es una muy buena idea, pero puede ser algo que la comunidad tiene que crear primero para demostrar que es útil, antes de que el equipo central considere agregarlo.
fuente
Bueno, este es más un punto de partida, pero hay una buena lista de funciones de WP y las versiones que se agregaron / eliminaron aquí . Desafortunadamente, solo sube a WP 3.0.1, pero si está buscando 3.0 como línea de base, al menos ayudará; si no está en la lista, se agregó más tarde. Es posible que desee enviar un correo electrónico a Ozh y pedirle que actualice la lista, y si uno de nosotros recibe la confirmación, alguien puede hacer un complemento para verificar (como un verificador de desaprobación inversa ).
ETA: Per @mrwweb - ¡ Lista de ganchos de Adam Brown ! Actualiza a 3.3 y regresa muuuucho a 1.2.1, que nadie en su sano juicio ya estaría ejecutando (fecha de lanzamiento 6 de octubre de 2004).
fuente
Creo que la respuesta se encuentra en los avisos obsoletos: debe desarrollar con WP_DEBUG verdadero, ya sea que los muestre o registre es su llamada, pero WP le notificará si utiliza una función obsoleta.
Sería posible analizar @since como usted dice, pero las herramientas solo pueden llevarlo lejos: la familiaridad con la base de código y la verificación manual pueden ser el camino a seguir.
fuente