Dependencias de plugins y opciones

En muchas ocasiones necesitamos desarrollar un plugin o un tema que necesita de las funcionalidades de otros tantos plugins. Tal vez para compartir los artículos en redes sociales, para generar un listado de posts relacionados o un plugin para crear nuevos campos personalizados. Pero, ¿Cómo podemos entregar nuestro desarrollo sin preocuparnos por si el usuario tiene instalado o no estas «dependencias«? Para ello les voy a mostrar cómo funciona la librería PHP «TGM Plugin Activation«.

TGM Plugin Activation PHP Library

Esta librería PHP, preparada y pensada para WordPress, nos permite definir dependencias al tema o plugin que estemos creando. Se pueden especificar 2 tipos de dependencias:

  1. Dependencias de plugins: Un array con los plugins que nuestro plugin o tema necesita para ejecutarse correctamente, indicando si son requeridos o aconsejables (entre otras tantas opciones).
  2. Dependencias de configuraciones: En muchas ocasiones nuestro desarrollo dependerá de valores guardados en la tabla de opciones de WordPress. Esta librería se encarga de crear estas variables y asignarle un valor por defecto para que nuestro desarrollo funcione sin problemas.

Hecha la introducción vamos a meter mano en el código:


Instalación

Para instalar el TGM Plugin Activation es necesario descargarse la librería de su página oficial y guardarla en alguna parte dentro de la estructura de nuestro desarrollo. Normalmente suelo guardar las librerías dentro de una carpeta llamada «includes».

Una vez descagada la librería debemos llamar a su fichero principal class-tgm-plugin-activation.php desde nuestro functions.php.

<?php
// Call the library to manage dependencies
include __DIR__ . "/includes/TGM-Plugin-Activation-2.6.1/class-tgm-plugin-activation.php";

Este clase define un hook llamado tgmpa_register al que tendremos que llamar para verificar las dependencias de nuestro desarrollo.
En esta función asignaremos 2 arrays, uno para la definir los plugins y otro para las configuraciones (este último es opcional) que luego pasaremos como parámetros a la función tgmpa.

<?php
function register_required_plugins() {

    // Variables
    $plugins  = array(

        // Mi plugin o tema necesita del plugin WP REST API para funcionar correctamente
        array(
            'name'               => 'WP REST API',  // El nombre del plugin.
            'slug'               => 'rest-api',     // El "slug" del plugin (normalmente el nombre de la carpeta).
            'required'           => true            // Si es falso, el plugin es "recomendado" en lugar de "requerido".
        )

    );


    // Mi plugin o tema necesita de las siguientes opciones en base de datos
    $config   = array(
        'id'           => 'maugelves',                 
        'default_path' => 'https://maugelves.com',                      
        'menu'         => 'maugelves-dependency-plugins' 
    );

    
    // LLamar a la función de la librería
    // que se encargará de las dependencias.
    tgmpa( $plugins, $config );


}
add_action( 'tgmpa_register', 'register_required_plugins' );

El plugin en acción

Cuando activemos nuestro tema o plugin en WordPress y nos falte alguna/s de las dependencias definidas en la clase recibiremos un lindo mensaje en el header de nuestro administrador.

Plugins requeridos

De esta manera el usuario está informado sobre la necesidad de tener instalado un conjunto de plugins para el correcto funcionamiento de la web. La clase dispone de otras opciones que nos permiten especificar versiones, url’s de descarga, forzar la activación o desactivación.

Estas y más opciones pueden encontrarla en la sección Configuration de su web.

Por cierto ¿algún voluntario para traducir el plugin?

Foto: https://www.flickr.com/photos/joelogon/5112896429/


¿Qué te pareció el artículo?
No molaPobreMolaMuy bueno¡Excelente! (5 votos, promedio: 5,00 de 5)
Cargando...
Mauricio Gelves
Mauricio Gelves es Lic. en Informática y trabaja como Consultor Web Freelance con su marca personal MauGelves. Se especializó en WordPress para ofrecer soluciones personalizadas y rentables a medianas y largas empresas. Es Nómade Digital desde el año 2015, actividad que combina sus dos principales pasiones: la informática y los viajes, y refleja sus experiencias a través de sus hobbies audiovisuales en Instagram y YouTube.
10 Pasos para ser Freelance - eBook Gratuito

10 pasos para convertirte en Freelance

Descarga en forma totalmente gratuita mi eBook en donde explico los 10 pasos que he dado para convertirme en Freelance.

Ingresa tu email y recibe en tu bandeja de correo el enlace para descargarte el eBook.

(Te doy mi palabra que solo enviaré un email al mes con todas mis novedades)


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *