Création plugin Wordpress

Default
,

Bonjour,

Suite à la création de plusieurs sites Wordpress avec les mêmes besoins. J'ai envie de regrouper tout celle-ci dans un plugin afin de ne plus avoir à faire les mêmes actions en boucle sur tous mes sites lors de l'installation.
La premiere étape est la suivante :
Je souhaite que mon plugin puisse installer directement d'autres plugins, un peu comme le propose des themes payant avec une liste de plugin à selection via des cases à cocher pour les installer.

J'ai trouvé ce tuto https://wpformation.com/tgm-plugin-activation-automatisez-linstallation-de-plugins-wordpress/ pour le faire depuis le fichier fonction, mais je n'arrive pas à l'adapter à un plugin.

Avez-vous des pistes?

Ce que je fais avec le tuto

<?php

echo "test";
require_once (dirname(__FILE__).'/class-tgm-plugin-activation.php');
add_action( 'tgmpa_register', 'enregistrer_mes_plugins' );

function enregistrer_mes_plugins() {

    $plugins = array(
        /*array(
            'name'  => 'PHP Code Widget',
            'slug'  => '',
            'source'    => 'https://downloads.wordpress.org/plugin/php-code-widget.2.3.zip',
            'required'  =>false
        )*/
         array(
         'name' => 'TGM New Media Plugin', // Le nom du plugin.
         'slug' => 'tgm-new-media-plugin', // Le slug du plugin (généralement le nom du dossier)
         'source' => 'https://s3.amazonaws.com/tgm/tgm-new-media-plugin.zip', // La source du plugin
         'required' => true, // TRUE signifie que le plugin est requis
         'external_url' => 'https://github.com/thomasgriffin/New-Media-Image-Uploader', // Si défini, remplace l'URL de l'API par défaut et pointe vers une URL externe
         ),
     );

    $theme_text_domain = 'the7dtchild'; // Changer pour le text-domain du theme

    $config = array(
        'domain' => $theme_text_domain, // Text domain - le même que celui de votre thème
        'default_path' => '', // Chemin absolu par défaut pour les plugins pré-packagés 
        'menu' => 'install-my-theme-plugins', // Menu slug 
        'strings' => array(
            'page_title' => __( 'Installer les plugins recommandés', $theme_text_domain ), // 
            'menu_title' => __( 'Installation des Plugins', $theme_text_domain ), // 
            'instructions_install' => __( 'Le plugin %1$s est recommandé pour ce thème. Cliquer sur le boutton pour installer et activer %1$s.', $theme_text_domain ), // %1$s = nom du plugin 
            'instructions_activate' => __( 'Le plugin %1$s est installé mais inactif. Aller à <a href="%2$s">la page d administration</a> pour son activation.', $theme_text_domain ), // %1$s = nom du plugin, %2$s = plugins page URL 
            'button' => __( 'Installer %s maintenant', $theme_text_domain ), // %1$s = nom du plugin 
            'installing' => __( 'Installation du Plugin: %s', $theme_text_domain ), // %1$s = nom du plugin 
            'oops' => __( 'Une erreur s est produite.', $theme_text_domain ), // 
            'notice_can_install' => __( 'Ce thème recommande le plugin %1$s. <a href="%2$s"><strong>Cliquer ici pour commencer son installation</strong></a>.', $theme_text_domain ), // %1$s = nom du plugin , %2$s = TGMPA page URL 
            'notice_cannot_install' => __( 'Désolé, vous ne détenez pas les permissions necessaires pour installer le plugin %1$s.', $theme_text_domain ), // %1$s = nom du plugin 
            'notice_can_activate' => __( 'Ce thème necessite le plugin %1$s. Actuellement inactif, vous devez vous rendre sur <a href="%2$s">la page d administration du plugin</a> pour l activer.', $theme_text_domain ), // %1$s = plugin name, %2$s = plugins page URL 
            'notice_cannot_activate' => __( 'Désolé, vous ne détenez pas les permissions necessaires pour activer le plugin %1$s.', $theme_text_domain ), // %1$s = nom du plugin 
            'return' => __( 'Retour à l installeur de plugins', $theme_text_domain ),
         ),
     );
     tgmpa( $plugins, $config );
}

?>

Merci pour votre aide