Crochets du plugin Duplicator Pro
Le plugin Duplicator Pro permet aux développeurs d'accéder à des événements spécifiques pendant ses cycles d'exécution. Voici un guide simple des crochets disponibles, pris en charge dans Duplicator Pro version 4.5.2 et supérieures.
Crochets
Voici les crochets que vous pouvez utiliser avec Duplicator Pro :
| Crochet | Description |
|---|---|
| duplicator_pro_build_before_start | Déclenché juste avant le début du processus de construction pour les constructions manuelles et planifiées. |
| duplicator_pro_build_completed | Déclenché à la toute fin du processus de construction pour les constructions manuelles et planifiées. |
| duplicator_pro_build_fail | Déclenché chaque fois qu'une construction échoue pour les constructions manuelles et planifiées. |
| duplicator_pro_first_login_after_install | Déclenché après qu'une installation a réussi et que l'utilisateur accède à l'administration WordPress pour la première fois. |
Configuration
Les crochets peuvent être configurés à différents endroits. Le moyen le plus rapide de commencer est de les ajouter au fichier functions.php de votre thème. Vous pouvez également ajouter des crochets à partir de plugins personnalisés ou commerciaux. Les crochets Duplicator Pro utilisent l'appel add_action de WordPress, vous pouvez donc les utiliser n'importe où dans la pile PHP de WordPress.
Démarrage rapide
Pour configurer les crochets et valider qu'ils fonctionnent avec votre site WordPress, suivez ces étapes :
- Ouvrez le fichier functions.php de votre thème actif.
- Ajoutez le code suivant en bas du fichier :
// Avant le début de la construction, rappel de fonction
function __duplicator_pro_build_before_start_test_function() {
$var = "------------------------------------------------";
$var .= "Test : hook duplicator_pro_build_before_start";
$var .= "------------------------------------------------";
error_log(print_r($var, true));
}
// La construction se termine, rappel de fonction
function __duplicator_pro_build_completed_test_function() {
$var = "------------------------------------------------";
$var .= "Test : hook duplicator_pro_build_before_start";
$var .= "------------------------------------------------";
error_log(print_r($var, true));
}
// Ajouter des 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. Créez une sauvegarde pour déclencher les crochets de construction.
4. Ouvrez votre fichier de log d'erreurs PHP ou de débogage pour voir les résultats des fonctions.
Exemples
Vous trouverez ci-dessous des exemples de code pour divers crochets. Vous pouvez personnaliser ces exemples pour répondre à vos besoins.
Exemple 1 : Nettoyer les données transitoires avant de créer une sauvegarde.
Cet exemple montre comment nettoyer les données transitoires avant de créer une sauvegarde.
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');
Exemple 2 : Enregistrer le statut de la construction dans une API externe (par ex. Slack)
Cet exemple montre comment enregistrer le statut de la construction dans une API externe comme Slack.
function sendSlackMessage($msg) {
// Voir l'API Slack Webhook (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") . "] Nom du package : " . $package->Name);
}
function sendSlackFailMessage(DUP_PRO_Package $package) {
sendSlackMessage("DUPLICATOR BUILD FAIL Nom du package : " . $package->Name);
}
function sendSlackCompleteMessage(DUP_PRO_Package $package) {
sendSlackMessage("DUPLICATOR BUILD COMPLETE [" . date("Y-m-d H:i:s") . "] Nom du package : " . $package->Name);
}
add_action('duplicator_pro_build_before_start', 'sendSlackStartMessage');
add_action('duplicator_pro_build_fail', 'sendSlackFailMessage');
add_action('duplicator_pro_build_completed', 'sendSlackCompleteMessage');
Ces exemples démontrent la flexibilité et la puissance des crochets Duplicator Pro. Vous pouvez les personnaliser pour répondre à vos besoins spécifiques et les intégrer à d'autres systèmes ou services.