Contrôler les dépendances d'un plugin WordPress

Publié le - 1 min - écrit par Silbad Contrôler les dépendances d'un plugin WordPress

Vous souhaitez contrôler si tel ou tel plugin WordPress est installé avant le votre car celui-ci en dépend ? Je vous propose ce petit tutoriel qui va répondre à votre besoin, toutefois il faut que votre plugin soit conforme à la structure de WordPress Plugin Boilerplate Generator (WPPB).

Prérequis

  • Un plugin généré avec WPPB
  • Un WordPress en bon et du forme
  • Au moins un plugin référent dont vous souhaitez être dépendant

Contrôler l'existence et l'activation du plugin référent

Nous allons prendre Elementor en tant que plugin référent.

Télécharger et copier le fichier plugin-utils.php dans le répertoire includes de votre plugin.

Dans le fichier racine de votre plugin nomdevotreplugin.php modifier la fonction run_nom_de_votre_plugin() par :

function run_nom_de_votre_plugin()
{
    $plugin = new Nom_De_Votre_Plugin();
    require plugin_dir_path(__FILE__) . 'includes/plugin-utils.php';
    $check_dependencies = Utils_Plugins::is_active('elementor.php');

    if ($check_dependencies) {
        $plugin->run();
    } else {
        add_action( 'admin_notices', 'display_missing_dependencies_nomdevotreplugin_notice');
    }
}

Cette fonction va contrôler si Elementor est activé, si oui le plugin est activé, sinon il ne l'est pas et ajoute une notification sur toutes les pages d'administration.

Afficher une notification si votre plugin n'est pas activé

Dans le fichier racine de votre plugin nomdevotreplugin.php ajouter la fonction suivante :

function display_missing_dependencies_nomdevotreplugin_notice()
{
    echo '<div class="notice notice-error is-dismissible"><p>' . __('Activation of the Elementor plugin is necessary for the proper functioning of the nomdevotreplugin plugin.', 'nom-de-votre-plugin') . '</p></div>';
}

Cette fonction va notifier l'utilisateur que le plugin Elementor n'est pas activé.
Notez au passage que j'utilise le système de traduction de WordPress. Cette chaîne peut-être traduit aisément avec l'excellent plugin LocoTranslate.

Enjoy ^^

Widgets

Recherche

Aucun article correspondant à votre recherche...

    Calendrier

    Suivre Human Geek

    Auteurs