Hallo, ich entwickle gerade ein Plugin und bin irgendwann hängen geblieben. Ich habe versucht, verschiedene Foren sowie WordPress-Codex zu erkunden, aber es ist nicht 100% klar. Kann mir jemand helfen zu verstehen, wie register_activation_hook
tatsächlich funktioniert.
Ich habe den folgenden Code, der nicht funktioniert:
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';
}
Aber wenn ich diesen Code außerhalb der Funktion register_activation_hook
verschiebe, funktioniert er einwandfrei
define('PLUGIN_DIR', plugin_dir_path( __FILE__ ));
require_once PLUGIN_DIR . 'options.php';
require_once PLUGIN_DIR . 'includes/contactone.php';
contact.php
enthält den folgenden Code:
if (!empty($_GET['email']) && !empty($_GET['token'])) {
add_action('init', 'my_test_fn', 0);
}
function my_test_fn(){
echo'test';
}
Was mache ich falsch? Bitte helfen Sie. Vielen Dank
In diesem Zitat aus The Codex wird klargestellt, was diese Funktion bewirkt:
Die Funktion
register_activation_hook
registriert eine Plugin-Funktion, die ausgeführt wird, wenn das Plugin aktiviert wird.
Das heißt, diese Funktion funktioniert ähnlich wie die Methode __construct()
einer Klasse. Sie können damit anfängliche Optionen festlegen, die Datenbank aktualisieren und vieles mehr. Es wird nicht jedes Mal ausgeführt, wenn der Core geladen wird. Es wird nur ausgeführt, wenn Sie auf die Schaltfläche Activate
eines Plugins in der Plugin-Liste klicken.