WordPress 6.5 Ahora es posible realizar dependencias entre plugins.
La extensibilidad de WordPress es una de sus características más útiles, y lo consigue gracias a los plugins y a la API Hooks. Muchos plugins se construyen sobre otros plugins para ampliar su funcionalidad. El propósito de la función de dependencia de plugins es hacer que el proceso de instalación y activación de plugins extendidos y de los plugins de los que dependen sea coherente y sencillo.
Nueva cabecera del complemento
Ahora se introduce una nueva cabecera "Requiere plugins". Esta cabecera debe contener una lista de alias de plugins separada por comas en formato WordPress.org que enumere otros plugins de los que dependa el plugin. Por ejemplo, el formato debería ser el siguiente: mi-plugin, otro-plugin. tenga en cuenta que la lista de alias no puede contener la ruta al archivo principal del plugin, sólo el alias del plugin.
Cómo utilizar la nueva cabecera
Simplemente añada un nuevo elemento en la cabecera del plugin con el nombre "Requiere Plugins".
![Image[1] - WordPress 6.5 soporta ahora las dependencias de plugins, lo que facilita a los desarrolladores la gestión de las relaciones entre plugins. -Photonflux.com | ¡Servicio profesional de reparación de WordPress, en todo el mundo, respuesta rápida!](https://www.361sale.com/wp-content/uploads/2024/03/1710928604367-1024x177.png)
solicite
con respecto aComplementos de dependencia, con los siguientes requisitos:
- Antes de instalar el plugin, deben instalarse sus dependencias.
- Antes de activar un plugin, deben activarse sus dependencias.
Plugins dependientes
Para los plugins dependientes, existen los siguientes requisitos:
- No es posible desactivar los plugins dependientes cuando sus dependientes están activados.
- Después de instalar sus dependencias, no es posible eliminar los plugins dependientes.
¿Qué ocurre si ya no se satisface la dependencia?
Si elimina un plugin dependiente mediante FTP u otros medios, la página de administración de WordPress mostrará una notificación recordándole que debe instalar y/o activar la dependencia asociada. Además, se mostrará una notificación de error en la fila de plugins para cada dependencia, alertándole de que un plugin no funciona correctamente porque se han eliminado sus dependencias.
¿Qué ocurre si la actualización de un plugin tiene nuevas dependencias?
Por ahora, puede seguir actualizando plugins aunque tengan dependencias, y esas dependencias permanecerán activas. Cuando opere en la página Gestionar plugins, recibirá una notificación recordándole que debe instalar y/o activar las dependencias pertinentes.
¿Qué ocurre si existe una dependencia circular?
Una dependencia circular es un bucle formado entre dos o más plugins que dependen unos de otros, lo que da lugar a una relación de requisitos poco clara entre los plugins.
A modo de ejemplo: el plugin A necesita el plugin B, el plugin B necesita el plugin C y el plugin C necesita el plugin A.
La función Dependencias entre plugins incluye la detección de dependencias circulares y mostrará una notificación al usuario alertándole de que existen necesidades no cubiertas entre plugins. Esto significa que estos plugins no pueden ser activados. Los usuarios deberán ponerse en contacto con los autores de los plugins para que resuelvan estas referencias circulares si es necesario.
¿Sigue siendo necesaria la codificación defensiva?
SÍ. La función de dependencia de plugins facilita a los usuarios la instalación y activación de los plugins que necesitan y les avisa cuando faltan. Esto significa que los autores de plugins pueden eliminar con seguridad las funciones de comprobación y notificación cuando los usuarios no instalan o activan los plugins que necesitan.
Sin embargo, actualmente, la función de dependencia de plugins no incluye soporte de versión mínima o máxima para los plugins dependientes, ni tiene en cuenta el orden en que se cargan los plugins. Por lo tanto, los autores de plugins deben seguir utilizando la función function|class|interface_exists()
y comprobación de versiones para garantizar que sus plugins funcionan correctamente cuando una funcionalidad específica está disponible, incluso si dependen de plugins que pueden no estar disponibles en el momento de la carga.
¿Las dependencias de los plugins afectan a WP-CLI?
La característica de Dependencias de Plugins no impide la instalación de plugins dependientes sin dependencias a través de WP-CLI, ya que se asume que los usuarios que utilizan WP-CLI son usuarios avanzados que entienden las dependencias de plugins. Sin embargo, para evitar que las dependencias se pierdan y sean ignoradas, WP-CLI no puede activar plugins dependientes hasta que las dependencias sean activadas.
Esto puede afectar al comando wp plugin activate -all, que puede tener que ejecutarse varias veces si las dependencias aparecen antes que las suyas. Tenemos previsto trabajar con los mantenedores de WP-CLI para explorar formas de aliviar esta carga ajustando el orden de carga del núcleo de WordPress, de WP-CLI o de ambos.
limitaciones
Plugins alojados en WordPress.org
Los plugins alojados en WordPress.org sólo pueden declarar dependencias de plugins que también estén alojados en WordPress.org. Si su plugin necesita depender de un plugin que no esté alojado en WordPress.org, se recomienda que no utilice "Requiere plugins"Marcador
Plugin no alojado en WordPress.org
Los plugins de dependencias que no estén alojados en WordPress.org pueden declarar sus dependencias, tanto si éstas están alojadas en WordPress.org como en otro lugar. Sin embargo, tenga en cuenta que los usuarios no podrán encontrar enlaces de instalación para dependencias de terceros en la interfaz de usuario, lo que significa que los usuarios tendrán que instalar estas dependencias manualmente.
Debe utilizar plugins como dependencias
Actualmente, el núcleo de WordPress no admite oficialmente los plugins de uso obligatorio como dependencias. Añadiremos un nuevo plugin al#60504Se seguirá debatiendo el tema en el informe y se dará a conocer más información cuando se tome una decisión sobre un posible apoyo futuro.
Temas que requieren plugins
En la actualidad, las dependencias de plugins aún no admiten los plugins que requiere el tema. Por lo tanto, los autores de temas deben seguir utilizando las comprobaciones y los métodos de mensajería que ya tienen en marcha.
Nuevos filtros
Hemos introducido un archivo llamado wp_plugin_dependencies_slug
filter hook, que sirve para permitir la modificación de las dependencias del plugin. Por ejemplo, si la declaración de un plugin depende del filtro mi-plugin
y existe una versión avanzada del mi-plugin
A continuación, la versión avanzada puede filtrarse por slug
convirtiéndolo en el parámetro mi-plugin-pro
para que el plugin pueda detectar nuevas dependencias de plugins.
Parámetros:
string $slug
: Alias.
ejemplo de uso
![Imagen [2] - WordPress 6.5 soporta ahora las dependencias de plugins, lo que facilita a los desarrolladores la gestión de las relaciones entre plugins. -Photonflux.com | ¡Servicio profesional de reparación de WordPress, en todo el mundo, respuesta rápida!](https://www.361sale.com/wp-content/uploads/2024/03/1710930173563.png)
Cambios en la interfaz de usuario
Plugins > Plugins instalados
Hemos realizado los siguientes cambios en las líneas de dependencia del plugin:
- La fila del plugin de dependencias contiene ahora una lista de sus dependencias necesarias y proporciona enlaces a las páginas de los plugins correspondientes para que los usuarios puedan instalarlos y activarlos.
- Si el plugin tiene dependencias desinstaladas e inactivas, el enlace "Activar" se desactivará para evitar errores del usuario.
- Si un complemento depende de otro que está activo, los enlaces Desactivar y Eliminar se desactivarán para garantizar que el complemento dependiente permanezca activo.
- Para las operaciones por lotes que dependen de plugins, esto está ahora desactivado para evitar situaciones potencialmente confusas.
adelante
![Imagen [3] - WordPress 6.5 soporta ahora las dependencias de plugins, lo que facilita a los desarrolladores la gestión de las relaciones entre plugins. -Photonfluctuation.com | Servicio profesional de reparación de WordPress, en todo el mundo, respuesta rápida](https://www.361sale.com/wp-content/uploads/2024/03/image-69.png)
emperatriz
![Imagen [4] - WordPress 6.5 soporta ahora las dependencias de plugins, lo que facilita a los desarrolladores la gestión de las relaciones entre plugins. -Photonflux.com | ¡Servicio profesional de reparación de WordPress, en todo el mundo, respuesta rápida!](https://www.361sale.com/wp-content/uploads/2024/03/image-70.png)
Plugins > Añadir nuevo plugin
Hemos introducido los siguientes cambios:
- Si el plugin tiene dependencias no satisfechas, los botones Instalar ahora y Activar de la ficha del plugin y del módulo Información del plugin se desactivarán. Esto impide que el usuario intente instalar o activar el plugin hasta que se cumplan todas sus dependencias.
- La tarjeta del complemento de dependencia muestra ahora una notificación en la que se enumeran sus dependencias y se proporciona un enlace "Más detalles" a la página de información sobre la dependencia. Los usuarios pueden utilizar este enlace para obtener más información sobre la dependencia y pueden "Instalar ahora" o "Activar" directamente desde esta página.
- El módulo de información sobre plugins ahora permanece abierto cuando se pulsa el botón, y los usuarios pueden realizar la instalación y activación de plugins basada en módulos utilizando AJAX directamente desde el módulo, sin salir de la página actual.
adelante
![Imagen [5] - WordPress 6.5 soporta ahora dependencias de plugins, lo que facilita a los desarrolladores la gestión de las relaciones entre plugins. -Photonfluctuation.com | Servicio profesional de reparación de WordPress, en todo el mundo, respuesta rápida](https://www.361sale.com/wp-content/uploads/2024/03/image-71.png)
emperatriz
![Imagen [6] - WordPress 6.5 soporta ahora dependencias de plugins, lo que facilita a los desarrolladores la gestión de las relaciones entre plugins. -Photonfluctuation.com | Servicio profesional de reparación de WordPress, en todo el mundo, respuesta rápida](https://www.361sale.com/wp-content/uploads/2024/03/image-72.png)
Cómo empezar
Como resultado del enfoque AJAX unificado que se utiliza ahora en la pantalla Plugins > Añadir nuevo, la activación de plugins ya no redirige automáticamente al usuario a la pantalla Plugins > Plugins instalados o a la página de introducción diseñada por el autor del plugin. Esto significa que los usuarios pueden instalar y activar varios plugins sin salir de su contexto actual.
Normalmente, los plugins con una experiencia de Primeros pasos incluirán algún tipo de mecanismo de comprobación. Por ejemplo, si el usuario instala y activa el plugin a través del WP-CLI, la experiencia de Introducción se activa cuando el usuario entra en una de las pantallas de configuración del plugin. Esta implementación es independiente de las dependencias del plugin, y el usuario también puede activar el plugin a través del enlace de activación en la pantalla Plugins > Plugins Instalados.
renovadoWP_Plugin_Dependencias
se parecen a
WP_Plugin_Dependencias Se introduce una nueva clase.
Están disponibles los siguientes métodos públicos de la API:
- método estático
inicializar()
Inicializa las dependencias del plugin leyendo la cabecera "Requiere Plugins" del plugin y obteniendo los datos de la API que dependen del plugin. Cada ejecución se realiza una sola vez.
- método estático
has_dependents( $plugin_file )
Determina si un determinado plugin tiene otros plugins que dependen de él.
Parámetros:
$plugin_file
: La ruta al archivo del plugin, relativa al directorio del plugin.
Valor de retorno:
bool
: Un booleano que indica si el plugin tiene otros plugins que dependen de él.
- método estático
has_dependencies( $plugin_file )
: Se utiliza para determinar si un plugin en particular tiene otros plugins como sus dependencias.
Parámetros:
$plugin_file
: La ruta al archivo del plugin, relativa al directorio del plugin.
Valor de retorno:
bool
: Valor booleano que indica si el plugin tiene otros plugins como dependencias.
- método estático
has_active_dependents( $plugin_file ) mark>
: Se utiliza para determinar si un plugin en particular tiene otros plugins activados como sus dependencias.
Parámetros:
$plugin_file
: La ruta al archivo del plugin, relativa al directorio del plugin.
Valor de retorno:
bool
: Valor booleano que indica si el plugin tiene otros plugins activados como sus dependencias.
- método estático
get_dependents( $slug )
: Se utiliza para obtener las rutas de los archivos de otros plugins que dependen del plugin especificado.
Parámetros:
$slug
: Dependency slug.
Valor de retorno:
array
: Una matriz que contiene las rutas a los archivos dependientes del plugin relativas al directorio del plugin.
- método estático
get_dependencies( $plugin_file )
::- Descripción: Los slugs utilizados para obtener los plugins dependientes requeridos por el plugin especificado.
- Parámetros:
$plugin_file
: La ruta a los archivos que dependen del plugin, relativa al directorio del plugin.
- Valor de retorno:
array
: Un array de babosas que dependen del plugin.
- método estático
get_dependent_filepath( $slug )
::- Descripción: Se utiliza para obtener la ruta del archivo del plugin dependiente especificado.
- Parámetros:
$slug
: Depende del slug del plugin.
- Valor de retorno:
string|false
: La ruta del archivo del plugin dependiente, relativa al directorio del plugin. Devuelve false si el plugin no tiene dependencias.
- método estático
get_dependency_filepath( $slug )
::- Descripción: Se utiliza para obtener la ruta del archivo de la dependencia especificada relativa al directorio del plugin.
- Parámetros:
$slug
: Dependency slug.
- Valor de retorno:
string|false
: La ruta del archivo de la dependencia relativa al directorio del plugin si está instalado, en caso contrario false.
- método estático
has_unmet_dependencies( $plugin_file ) mark mark>
::- Descripción: Se utiliza para determinar si el plugin especificado tiene dependencias no satisfechas.
- Parámetros:
$plugin_file
: La ruta del archivo del plugin, relativa al directorio del plugin.
- Valor de retorno:
bool
: Si el plugin tiene dependencias no satisfechas.
- método estático
has_circular_dependency( $plugin_file ) mark>
::- Descripción: Se utiliza para determinar si existe una dependencia circular para el plugin especificado.
- Parámetros:
$plugin_file
: La ruta del archivo del plugin, relativa al directorio del plugin.
- Valor de retorno:
bool
: Si el plugin tiene dependencias circulares.
- método estático
get_dependent_names( $plugin_file )
::- Descripción: Se utiliza para obtener el nombre del plugin para el que se necesita especificar el plugin.
- Parámetros:
$plugin_file
: La ruta del archivo del plugin, relativa al directorio del plugin.
- Valor de retorno:
array
: Matriz de nombres de dependencia.
- método estático
get_dependency_names( $plugin_file ) mark>
::- Descripción: Se utiliza para obtener el nombre del plugin necesario para el plugin especificado.
- Parámetros:
$plugin_file
: La ruta a los archivos que dependen del plugin, relativa al directorio del plugin.
- Valor de retorno:
array
: Una matriz de nombres de dependencias.
- método estático
get_dependency_data( $slug )
::- Descripción: Se utiliza para devolver los datos de la API de la dependencia especificada.
- Parámetros:
$slug
: Dependency slug.
- Valor de retorno:
array|false
: Datos de la API para la dependencia en caso de éxito; en caso contrario, false.
Para saber más, visiteRegistro oficial.
Enlace a este artículo:https://www.361sale.com/es/6125El artículo está protegido por derechos de autor y debe ser reproducido con atribución.
Sin comentarios