10
votes

Ajout de code au plugin qui n'exécute que la première fois qu'il est activé?

est-il possible d'envelopper le code dans une fonction spéciale qui n'exécute que la première fois que le plugin est activé?

J'ai un code de base de données, je dois exécuter sur l'activation du plug-in, mais le code ne doit pas ne pas être exécuté après cela.


0 commentaires

3 Réponses :


3
votes

http://codex.wordpress.org/funt_reference/register_activation_hook

La fonction regrette_activation_hook (Introduit dans WordPress 2.0) enregistre une fonction de plug-in à exécuter Lorsque le plugin est activé.


1 commentaires

Merci Dominic. J'apprécie l'aide.



13
votes

Oui, c'est possible. Vous pouvez enregistrer un crochet d'activation du plugin qui ne peut être exécuté que lorsque le plugin est activé. J'ai dragué un ancien plugin que j'ai écrit pour un exemple de code: xxx


3 commentaires

Merci Zombat, et surtout pour l'exemple. Une question: est-il possible d'avoir un plugin de travail (avec code qui exécute tant que le plugin est activé) qui a également un crochet d'activation?


Pas tout à fait sûr de suivre. Tout ce que vous êtes à l'intérieur de la fonction que vous vous enregistrez comme un crochet d'activation sera exécuté chaque fois que l'action "Activer le plug-in" se produit dans le panneau d'administration WordPress. Vous pouvez avoir un tas d'autres code dans les classes de plug-in qui fera d'autres choses, mais ne comptez pas sur des crochets d'activation. Il peut simplement être utilisé normalement. Désolé si cela ne répond pas à votre question, je n'ai pas bien compris ce que vous demandez ...?


Je l'ai compris. J'ai été confus sur où placer l'init pour le plugin et où mettre le crochet d'activation.



1
votes

N'oubliez pas non plus une fois que votre plugin est désactivé par vous-même / utilisateur, vous pouvez supprimer toutes les options des tables que vous avez stockées dans la base de données WP, j'ai écrit un petit message à ce sujet récemment parle de la fonction WP Regisk_Deactivation_Hook ().

http://www.martin-gardnerner.co.uk/how-to-get-Your-Wordress-plugin-a-drop-table-de-Drop-table-de-Tratabase/ P>

    <?php
    register_deactivation_hook( __FILE__, ‘pluginUninstall’ );

    function pluginUninstall() {
      global $wpdb;
      $thetable = $wpdb->prefix."your_table_name";
      //Delete any options that's stored also?
      //delete_option('wp_yourplugin_version');
      $wpdb->query("DROP TABLE IF EXISTS $thetable");
    }
    ?>


0 commentaires