Saltar al contenido

Activación del plugin TGM: automatice la instalación de los plugins de WordPress

22/02/2021

Si eres un freelance de WordPress y creas sitios regularmente para tus clientes, seguro que tienes una lista de plugins que te mimas y que instalas con cada nueva creación.

Sin embargo, esta redundancia en ocasiones puede volverse aburrida y hacerte perder el tiempo innecesariamente … Si este es tu caso, entonces has venido al lugar indicado porque vamos a ver juntos cómo automatizar la instalación de tus plugins favoritos gracias al Activación del plugin TGM .

¿Qué es la activación del plugin TGM?

El TGM Plugin Activation fue creado y desarrollado por Thomas Griffin , un experto en WordPress, a quien le debemos la creación de OptinMonster y EnviraGallery entre otros … Gracias a este plugin y unas pocas líneas de código se puede iniciar la instalación y luego la activación de sus plugins favoritos tan pronto como active su Tema / Tema Premium o child theme  : usted decidirá dónde instalarlo. El propósito de esta función es ahorrar un tiempo precioso al crear un nuevo sitio de WordPress.

Como funciona ?

La activación del plugin TGM  no es un plugin disponible en el directorio de plugins de WordPress. Tendrás que seguir unos pocos pasos y poner tus manos en el código para poder hacerlo funcionar pero el resultado es tan satisfactorio que ¡merece la pena! Para este tutorial, estoy implementando la  activación del plugin TGM en un tema secundario,  veamos cómo proceder …

Paso 1: crea un tema hijo

Este plugin requerirá escribir código PHP en el archivo functions.php . Si no es usted quien crea su tema de WordPress y está utilizando un tema existente, se recomienda encarecidamente realizar la creación de un tema secundario que protegerá sus modificaciones durante las actualizaciones del tema principal. Si nunca ha creado un tema hijo, encontrará el procedimiento en este artículo .

Paso 2: Descargar la  activación del plugin TGM

Después de crear el tema de su hijo, deberá descargar la activación del plugin TGM yendo a la página dedicada .

Para hacer esto, deberá elegir una opción de uso (Tema / Tema secundario / plugin) y luego completar los tres campos (Dominio de texto / Prefijo de función / Nombre) antes de hacer clic en Generar . La descarga de los archivos de  activación del plugin TGM  comenzará y podrá recuperarlos de la carpeta de descarga en su computadora.

Paso 3: implemente la  activación del plugin TGM  en el tema hijo

Una vez descargado, debe descomprimir la carpeta comprimida para extraer el archivo llamado  class-tgm-plugin-activation.php allí.

Luego solo tiene que copiar este archivo en la carpeta de su tema hijo, directamente en la raíz o en una subcarpeta . Hasta ahora, ¡nada realmente científico!

Paso 4: edite el archivo functions.php del tema hijo

Es en el archivo functions.php donde podrá registrar todos los plugins necesarios para su child theme a través de un editor de texto como SublimText, por ejemplo. Y aquí es también donde tendrás que manipular el código … Antes de comenzar con las explicaciones, así es como se verá tu archivo:

  1. Primero, tendrá que usar el  archivo class-tgm-plugin-activation.php  agregado recientemente en su tema hijo (paso 3); cualquiera de las líneas 10 a 14 de la captura de pantalla anterior. Como recordatorio, todas estas líneas se agregarán después del código ya presente en su archivo functions.php . Aquí está el código sin formato:

    require_once dirname (__FILE__). '/class-tgm-plugin-activation.php';
    add_action ('tgmpa_register', 'register_my_plugins');
  2. En segundo lugar, deberá declarar una nueva función. En mi ejemplo, esta es la función save_my_plugins que comienza en la línea 18 y termina en la línea 68 de mi captura de pantalla. Aquí está el código sin formato a continuación:

    function register_my_plugins () {
    
    $ plugins = matriz (
     // Ejemplo A: incluir un plugin preempaquetado en un tema 
     // Ejemplo B: incluir un plugin de un directorio externo como GITHUB
     // Ejemplo C: para incluir un plugin disponible en el directorio de plugins de WP
     );
    
    $ theme_text_domain = 'veintisiete'; // Cambiar al dominio de texto del tema
    
    $ config = matriz (
     'domain' => $ theme_text_domain, // Dominio de texto - el mismo que su tema
     'default_path' => '', // Ruta predeterminada absoluta para plugins preempaquetados 
     'menu' => 'install-my-theme-plugins', // Barra de menú 
     'cadenas' => matriz (
     'page_title' => __ ('Instalar plugins recomendados', $ theme_text_domain), // 
     'menu_title' => __ ('Instalando plugins', $ theme_text_domain), // 
     'instructions_install' => __ ('Se recomienda el plugin% 1 $ s para este tema. Haga clic en el botón para instalar y activar% 1 $ s.', $ theme_text_domain), //% 1 $ s = nombre del plugin 
     'instructions_activate' => __ ('El plugin% 1 $ s está instalado pero inactivo. Vaya a <a href="%2$s"> la página de administración </a> para su activación.', $ theme_text_domain), / /% 1 $ s = nombre del plugin,% 2 $ s = URL de la página de plugins 
     'button' => __ ('Instalar% s ahora', $ theme_text_domain), //% 1 $ s = nombre del plugin 
     'install' => __ ('Instalación del plugin:% s', $ theme_text_domain), //% 1 $ s = nombre del plugin 
     'oops' => __ ('Ocurrió un error.', $ theme_text_domain), // 
     'notice_can_install' => __ ('Este tema recomienda el plugin% 1 $ s. <a href="%2$s"> <strong> Haga clic aquí para comenzar su instalación </strong> </a>.', $ theme_text_domain), //% 1 $ s = nombre del plugin,% 2 $ s = URL de la página TGMPA 
     'notice_cannot_install' => __ ('Lo sentimos, no tienes los permisos necesarios para instalar el plugin% 1 $ s.', $ theme_text_domain), //% 1 $ s = nombre del plugin 
     'notice_can_activate' => __ ('Este tema requiere el plugin% 1 $ s. Actualmente inactivo, debes ir a <a href="%2$s"> la página de administración del plugin </a> para activarlo.', $ theme_text_domain), //% 1 $ s = nombre del plugin,% 2 $ s = URL de la página de plugins 
     'notice_cannot_activate' => __ ('Lo sentimos, no tienes los permisos necesarios para activar el plugin% 1 $ s.', $ theme_text_domain), //% 1 $ s = nombre del plugin 
     'return' => __ ('Regresar al instalador del plugin', $ theme_text_domain),
     ),
     );
     tgmpa ($ plugins, $ config);
    }

    Hasta entonces, solo será necesario copiar y pegar el código anterior sin olvidar cambiar el theme_text_domain ubicado en la línea 46 de mi captura de pantalla. Para mi ejemplo, ingresé ‘veinte diecisiete’ porque mi tema hijo está vinculado al tema Veinte diecisiete.

  3. Finalmente, podrá registrar sus diversos plugins . En mi ejemplo, la grabación de mis plugins comienza en la línea 21 de mi captura de pantalla y termina en la línea 43.  Tenga en cuenta que para cada plugin será necesario crear un ARRAY (tabla) que se incluirá en un ARRAY como puede ver. comenzando en la línea 20 para terminar en la línea 44 en mi captura de pantalla. La llamada de sus plugins dependerá y variará ligeramente de acuerdo con la fuente original de estos, tres escenarios están disponibles para usted:
  • Ejemplo A: Incluya un plugin «preempaquetado». 

    Estos podrían ser plugins premium para los que tiene la licencia adecuada para usar en varios sitios.
    En mi ejemplo, este es el plugin
    WP Rocket . Para hacer esto, deberá incluir la carpeta .zip de este plugin en la carpeta de su tema hijo: ya sea en la raíz o en una subcarpeta. En la línea ‘fuente’ , deberá indicar la ruta relativa (como en la línea 25 de la captura de pantalla). Aquí está el código para agregar:

     matriz
     'name' => 'WP Rocket', // El nombre del plugin
     'slug' => 'wp-rocket_2.8.23', // El slug del plugin (normalmente el nombre de la carpeta)
     'fuente' => get_stylesheet_directory (). '/wp-rocket_2.8.23.zip', // la ruta relativa del plugin en formato .zip
     'required' => false, // FALSE significa que el plugin solo se recomienda
     ),
  • Ejemplo B: Uso de un plugin en un directorio externo

    En este caso, pueden ser plugins contenidos en una biblioteca como la de GitHub.
    Para mi ejemplo, utilicé el plugin de ejemplo de Thomas Griffin. En la línea de origen, deberá ingresar la URL del plugin (como en la línea 33 de la captura de pantalla). He aquí cómo importarlo:

     matriz
     'name' => 'TGM New Media Plugin', // El nombre del plugin.
     'slug' => 'tgm-new-media-plugin', // El slug del plugin (normalmente el nombre de la carpeta)
     'source' => 'https://s3.amazonaws.com/tgm/tgm-new-media-plugin.zip', // La fuente del plugin
     'required' => true, // TRUE significa que se requiere el plugin
     'external_url' => 'https://github.com/thomasgriffin/New-Media-Image-Uploader', // Si está configurado, reemplace la URL de API predeterminada y apunte a una URL externa
     ),
  • Ejemplo C: Importar un plugin disponible en el directorio oficial de WordPress 

    Estos son todos los plugins presentes en el directorio oficial de plugins de WordPress y que está acostumbrado a instalar manualmente pasando por la pestaña
    EXTENSIONES> AGREGAR . Para mi ejemplo, tomé la extensión MailPoet . Tenga cuidado, a veces la ‘babosa’ es diferente del ‘nombre’ . Así es como lo incluí en mi child theme:

     matriz
     'name' => 'MailPoet', // El nombre del plugin
     'slug' => 'wysija-newsletters', // El plugin slug (normalmente el nombre de la carpeta)
     'required' => false, // FALSE significa que el plugin solo se recomienda
     ),

 

Paso 5: ve a la administración de tu sitio de WordPress

Ahí lo tiene, lo más «difícil» se hace, luego puede enviar, a través de FTP, su tema hijo completo a la carpeta wp-content> themes en su host. A partir de ese momento, puede ir a la administración de su sitio para activar su tema hijo a través de la pestaña Apariencia> Temas .

Tan pronto como se active el tema, aparecerá un inserto informativo en la parte superior de la ventana que enumerará los plugins requeridos y recomendados de acuerdo con lo que haya configurado en su archivo functions.php . Para comenzar la instalación, solo necesita hacer clic en Comenzar a instalar plugins, lo que lo llevará a la página de instalación de plugins.

Con toda simplicidad, puede instalar los diversos plugins marcándolos, luego colocando el menú desplegable en Instalar y terminando con Aplicar . Haga clic en Volver al instalador de plugins para realizar la misma operación con el fin de activar todas las extensiones simultáneamente. Ahora, si realiza un recorrido rápido por la pestaña Extensiones> Extensiones instaladas , verá que todos sus plugins están presentes y son funcionales … ¡Como por arte de magia!

 

En conclusión…

Esta activación de plugins TGM es muy práctica o incluso valiosa para los desarrolladores de temas premium que generalmente incluyen una gran cantidad de plugins necesarios y / o recomendados con su tema. ¿Te imaginas comprar un tema premium que te proporcione una lista simple de plugins para instalar manualmente? No ! Ahora que conoce este truco, puede inventar su propio child theme que incluye todos los plugins que considere útiles . Solo tienes que hacer clic para instalar y activar todo: menos esfuerzo para más productividad… ¡Sí!

Para ir (aún) más lejos:

  • ver archivos TGMPA en GitHub
  • ver las explicaciones de Thomas Griffin en su blog
  • descubra el plugin de actualización por lotes TGM de Thomas Griffin