Bonjour, je développe un plugin et je suis resté bloqué à un moment donné. J'ai essayé d'explorer différents forums ainsi que le codex WordPress, mais ce n'est pas clair à 100%. Quelqu'un peut-il m'aider à comprendre comment fonctionne register_activation_hook
.
J'ai le code suivant qui ne fonctionne pas:
register_activation_hook(__FILE__, 'plugin_activation_fn' );
function plugin_activation_fn(){
define('PLUGIN_DIR', plugin_dir_path( __FILE__ ));
require_once PLUGIN_DIR . 'includes/contact.php';
}
Mais si je déplace ce code en dehors de la fonction register_activation_hook
, alors il fonctionnera bien
define('PLUGIN_DIR', plugin_dir_path( __FILE__ ));
require_once PLUGIN_DIR . 'options.php';
require_once PLUGIN_DIR . 'includes/contactone.php';
contact.php
contient le code suivant:
if (!empty($_GET['email']) && !empty($_GET['token'])) {
add_action('init', 'my_test_fn', 0);
}
function my_test_fn(){
echo'test';
}
Qu'est-ce que je fais mal? S'il vous plaît aider. Merci
Cette citation de Le Codex indique clairement le rôle de cette fonction:
La fonction
register_activation_hook
enregistre une fonction de plug-in à exécuter lorsque le plug-in est activé.
Cela signifie que cette fonction fonctionne de la même manière que la méthode __construct()
d'une classe. Vous pouvez l'utiliser pour définir les options initiales, mettre à jour la base de données, etc. Il ne s'exécute pas à chaque chargement du core, il ne s'exécute que lorsque vous cliquez sur le bouton Activate
d'un plugin dans la liste des plugins.