Mit dem Duplicator Pro-Plugin können Entwickler während seiner Ausführungszyklen auf bestimmte Ereignisse zugreifen. Hier finden Sie eine einfache Anleitung zu den verfügbaren Hooks, die in Duplicator Pro Version 4.5.2 und höher unterstützt werden.
Haken
Hier sind die Hooks, die Sie mit Duplicator Pro verwenden können:
Haken | Beschreibung |
---|---|
duplicator_pro_build_before_start | Wird sowohl für manuelle als auch für geplante Builds unmittelbar vor dem Start des Build-Prozesses ausgelöst. |
Duplizierer_Pro_Build_abgeschlossen | Wird ganz am Ende des Build-Prozesses sowohl für manuelle als auch für geplante Builds ausgelöst. |
duplicator_pro_build_fail | Wird immer dann ausgelöst, wenn ein Build sowohl bei manuellen als auch bei geplanten Builds fehlschlägt. |
duplicator_pro_erste_Anmeldung_nach_der_Installation | Wird ausgelöst, nachdem eine Installation erfolgreich ausgeführt wurde und der Benutzer zum ersten Mal auf den WordPress-Administrator zugreift. |
Aufstellen
Hooks können an verschiedenen Stellen eingerichtet werden. Am schnellsten geht das, indem Sie sie zur Datei functions.php Ihres Themes hinzufügen. Sie können auch Hooks von benutzerdefinierten oder kommerziellen Plugins hinzufügen. Duplicator Pro-Hooks verwenden den WordPress-Aufruf add_action, sodass Sie sie überall im WordPress-PHP-Stack verwenden können.
Schnellstart
Um Hooks einzurichten und zu überprüfen, ob sie mit Ihrer WordPress-Site funktionieren, führen Sie die folgenden Schritte aus:
- Öffnen Sie die Datei functions.php Ihres aktiven Designs.
- Fügen Sie am Ende der Datei den folgenden Code hinzu:
// Before build starts function callback
function __duplicator_pro_build_before_start_test_function() {
$var = "------------------------------------------------";
$var .= "Testing: duplicator_pro_build_before_start hook";
$var .= "------------------------------------------------";
error_log(print_r($var, true));
}
// Build completes function callback
function __duplicator_pro_build_completed_test_function() {
$var = "------------------------------------------------";
$var .= "Testing: duplicator_pro_build_before_start hook";
$var .= "------------------------------------------------";
error_log(print_r($var, true));
}
// Add Actions
add_action('duplicator_pro_build_before_start', '__duplicator_pro_build_before_start_test_function');
add_action('duplicator_pro_build_completed', '__duplicator_pro_build_completed_test_function');
3. Erstellen Sie ein Backup, um die Build-Hooks auszulösen.
4. Öffnen Sie Ihre PHP-Fehler- oder Debug-Protokolldatei, um die Ergebnisse der Funktionen anzuzeigen.
Proben
Nachfolgend finden Sie einige Beispielcodes für verschiedene Hooks. Sie können diese Beispiele an Ihre Bedürfnisse anpassen.
Beispiel 1: Bereinigen Sie flüchtige Daten, bevor Sie ein Backup erstellen.
Dieses Beispiel zeigt, wie flüchtige Daten bereinigt werden, bevor eine Sicherung erstellt wird.
function deleteAllTransientsOnPackageCreation() {
global $wpdb;
$sql = 'DELETE FROM ' . $wpdb->options . ' WHERE option_name LIKE "_transient_%"';
$wpdb->query($sql);
}
add_action('duplicator_pro_build_before_start', 'deleteAllTransientsOnPackageCreation');
Beispiel 2: Build-Status an eine externe API (z. B. Slack) protokollieren
Dieses Beispiel zeigt, wie der Build-Status bei einer externen API wie Slack protokolliert wird.
function sendSlackMessage($msg) {
// See Slack Webhook API (https://api.slack.com/messaging/webhooks)
$slackWebhook = 'https://hooks.slack.com/services/[XXX]/[YYY]/[ZZZ]';
$postfields = array('payload' => json_encode(array('text' => $msg)));
$ch = curl_init($slackWebhook);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
curl_exec($ch);
curl_close($ch);
}
function sendSlackStartMessage(DUP_PRO_Package $package) {
sendSlackMessage("DUPLICATOR BUILD START [" . date("Y-m-d H:i:s") . "] Package name: " . $package->Name);
}
function sendSlackFailMessage(DUP_PRO_Package $package) {
sendSlackMessage("DUPLICATOR BUILD FAIL Package name: " . $package->Name);
}
function sendSlackCompleteMessage(DUP_PRO_Package $package) {
sendSlackMessage("DUPLICATOR BUILD COMPLETE [" . date("Y-m-d H:i:s") . "] Package name: " . $package->Name);
}
add_action('duplicator_pro_build_before_start', 'sendSlackStartMessage');
add_action('duplicator_pro_build_fail', 'sendSlackFailMessage');
add_action('duplicator_pro_build_completed', 'sendSlackCompleteMessage');
Diese Beispiele demonstrieren die Flexibilität und Leistungsfähigkeit der Duplicator Pro-Hooks. Sie können sie an Ihre spezifischen Anforderungen anpassen und in andere Systeme oder Dienste integrieren.