Duplicator Pro Plugin Hooks
Das Duplicator Pro-Plugin ermöglicht Entwicklern den Zugriff auf bestimmte Ereignisse während seiner Ausführungszyklen. Hier ist eine einfache Anleitung zu den verfügbaren Hooks, die in Duplicator Pro Version 4.5.2 und höher unterstützt werden.
Hooks
Hier sind die Hooks, die Sie mit Duplicator Pro verwenden können:
| Hook | Beschreibung |
|---|---|
| duplicator_pro_build_before_start | Wird direkt vor dem Start des Build-Prozesses für manuelle und geplante Builds ausgelöst. |
| duplicator_pro_build_completed | Wird am Ende des Build-Prozesses für manuelle und geplante Builds ausgelöst. |
| duplicator_pro_build_fail | Wird ausgelöst, wenn ein Build für manuelle und geplante Builds fehlschlägt. |
| duplicator_pro_first_login_after_install | Wird ausgelöst, nachdem eine Installation erfolgreich ausgeführt wurde und der Benutzer zum ersten Mal auf den WordPress-Adminbereich zugreift. |
Einrichtung
Hooks können an verschiedenen Stellen eingerichtet werden. Der schnellste Weg, um loszulegen, ist, sie zur functions.php-Datei Ihres Themes hinzuzufügen. Sie können Hooks auch aus benutzerdefinierten oder kommerziellen Plugins hinzufügen. Duplicator Pro-Hooks verwenden den WordPress add_action-Aufruf, sodass Sie sie überall im WordPress PHP-Stack verwenden können.
Schnellstart
Befolgen Sie diese Schritte, um Hooks einzurichten und zu validieren, dass sie mit Ihrer WordPress-Site funktionieren:
- Öffnen Sie die functions.php-Datei Ihres aktiven Themes.
- Fügen Sie den folgenden Code am Ende der Datei hinzu:
// Vor dem Build-Start Funktions-Callback
function __duplicator_pro_build_before_start_test_function() {
$var = "------------------------------------------------";
$var .= "Test: duplicator_pro_build_before_start Hook";
$var .= "------------------------------------------------";
error_log(print_r($var, true));
}
// Build-Abschluss Funktions-Callback
function __duplicator_pro_build_completed_test_function() {
$var = "------------------------------------------------";
$var .= "Test: duplicator_pro_build_before_start Hook";
$var .= "------------------------------------------------";
error_log(print_r($var, true));
}
// Aktionen hinzufügen
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.
Beispiele
Nachfolgend finden Sie einige Beispielcodes für verschiedene Hooks. Sie können diese Beispiele an Ihre Bedürfnisse anpassen.
Beispiel 1: Temporäre Daten vor dem Erstellen eines Backups bereinigen.
Dieses Beispiel zeigt, wie temporäre Daten vor dem Erstellen eines Backups bereinigt werden.
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 protokollieren (z. B. Slack)
Dieses Beispiel zeigt, wie der Build-Status an eine externe API wie Slack protokolliert wird.
function sendSlackMessage($msg) {
// Siehe 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") . "] Paketname: " . $package->Name);
}
function sendSlackFailMessage(DUP_PRO_Package $package) {
sendSlackMessage("DUPLICATOR BUILD FAIL Paketname: " . $package->Name);
}
function sendSlackCompleteMessage(DUP_PRO_Package $package) {
sendSlackMessage("DUPLICATOR BUILD COMPLETE [" . date("Y-m-d H:i:s") . "] Paketname: " . $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 Leistung von Duplicator Pro-Hooks. Sie können sie an Ihre spezifischen Bedürfnisse anpassen und mit anderen Systemen oder Diensten integrieren.