Creando un complemento con dependencias

17

Estoy intentando extender la funcionalidad de otro complemento. Necesito obtener datos de ella en una matriz para usarlos de una manera diferente a la del complemento original. (En este caso, los complementos de Categorías y Listados de WPMUDev). ¿Hay algo en el Codex? ¿Cómo puedo crear un complemento que pueda usar otras funciones de complementos? ¿Puedo extenderlos y construir las funciones de los nodos padres? No estoy seguro de si estos complementos utilizan clases o solo funciones directas.

Solo trato de obtener datos del complemento en un widget de barra lateral (en un elemento de opción de formulario), pero eventualmente usaré esto para el área de contenido usando códigos cortos personalizados. Por ahora solo necesito un lugar para empezar.

    
pregunta DWils 04.09.2013 - 03:47

1 respuesta

19

Sí, es posible crear un complemento que amplíe otro complemento. Aquí hay algunas ideas sobre cómo podría hacerlo:

  1. Un complemento puede configurar sus propios ganchos de acción y filtro (usando las funciones do_action y apply_filter ) al igual que el núcleo de WordPress. Si el complemento al que te diriges hace esto, puedes usar estos enlaces para cambiar la funcionalidad.

  2. Si un complemento utiliza una estructura orientada a objetos, puede ampliar las clases y construir sobre el complemento original.

  3. Puede leer los datos almacenados en la base de datos con el complemento original y usarlos en su código de complemento.

  4. Puede llamar a cualquier función del complemento original que desee, después de haber comprobado que el complemento está activo y cargado (ver más abajo). Solo tenga en cuenta cualquier efecto que la función pueda tener además del valor devuelto.

Tendrá que comprobar si el complemento original está activado o no. Puede usar la función is_plugin_active ; Sin embargo, esto solo funciona en las páginas de administración. Alternativamente, puede usar function_exists o class_exists para verificar si una función o clase particular del complemento original está disponible, lo que le diría que se está ejecutando.

Recuerde que cada vez que se actualice el complemento original, debe probar su complemento con la nueva versión para buscar cualquier cosa nueva que pueda entrar en conflicto con su complemento.

    
respondido por el Ben Miller 04.09.2013 - 04:52

Lea otras preguntas en las etiquetas