Obtenha hoje o melhor plug-in de backup e migração para WordPress
Obter o Duplicator agora

Documentação do Duplicador

Documentação, materiais de referência e tutoriais para o Duplicator

Ganchos do plugin Duplicator Pro

O plugin Duplicator Pro permite aos programadores aceder a eventos específicos durante os seus ciclos de execução. Aqui está um guia simples para os ganchos disponíveis, que são suportados no Duplicator Pro versão 4.5.2 e superior.

Ganchos

Aqui estão os ganchos que pode utilizar com o Duplicator Pro:

GanchoDescrição
duplicator_pro_build_before_startAcionado imediatamente antes do início do processo de compilação, tanto para compilações manuais como programadas.
duplicator_pro_build_completedAcionado no final do processo de construção, tanto para as construções manuais como para as programadas.
duplicator_pro_build_failAcionado sempre que uma compilação falha, tanto para compilações manuais como programadas.
duplicator_pro_first_login_after_installAcionado depois de uma instalação ter sido executada com êxito e o utilizador aceder à administração do WordPress pela primeira vez.

Configuração

Os ganchos podem ser configurados em diferentes locais. A forma mais rápida de começar é adicionando-os ao ficheiro functions.php do seu tema. Também pode adicionar hooks de plugins personalizados ou comerciais. Os hooks do Duplicator Pro utilizam a chamada add_action do WordPress, pelo que pode utilizá-los em qualquer parte da pilha PHP do WordPress.

Início rápido

Para configurar os hooks e validar se estão a funcionar com o seu site WordPress, siga estes passos:

  1. Abra o ficheiro functions.php do seu tema ativo.
  2. Adicione o seguinte código na parte inferior do ficheiro:
// 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. Criar uma cópia de segurança para acionar os ganchos de construção.

4. Abra o ficheiro de registo de erros ou de depuração do PHP para ver os resultados das funções.

Amostras

Abaixo estão alguns exemplos de códigos para vários hooks. Pode personalizar estes exemplos de acordo com as suas necessidades.

Exemplo 1: Limpar dados transitórios antes de criar um backup.

Este exemplo mostra como limpar os dados transitórios antes de criar um backup.

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');

Exemplo 2: Registrar o status da compilação em uma API externa (por exemplo, Slack)

Este exemplo mostra como registrar o status da compilação em uma API externa, como o Slack.

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');

Estas amostras demonstram a flexibilidade e o poder dos hooks do Duplicator Pro. Pode personalizá-los de acordo com as suas necessidades específicas e integrá-los com outros sistemas ou serviços.

Este artigo foi útil?

Artigos relacionados