FernandoAcosta.Netdocs

Actions disponíveis

2 min de leituraAtualizado há 5 dias

O plugin expõe duas actions PHP que você pode usar pra estender o comportamento padrão.

wc_advanced_reviews_comment_processed

Dispara depois que uma avaliação é validada e salva no banco, antes do e-mail de retorno (positivo ou negativo) ser enviado.

Localização: includes/class-wc-process-reviews.php

Assinatura:

do_action( 'wc_advanced_reviews_comment_processed', $comment_id, $post_id, $average );

Parâmetros:

  • $comment_id (int) — ID do comentário do WordPress que representa a avaliação.
  • $post_id (int) — ID do produto avaliado.
  • $average (int) — média das estrelas dos campos do tipo rating habilitados (1 a 5).

Quando disparar: essa action é o ponto natural pra integrações com sistemas externos (CRM, analytics, Slack, etc.) — você tem o contexto completo da avaliação acabada de salvar.

Exemplo: notificar uma URL externa toda vez que uma avaliação é registrada

add_action( 'wc_advanced_reviews_comment_processed', function( $comment_id, $post_id, $average ) {
    $comment = get_comment( $comment_id );
    $product = wc_get_product( $post_id );

    wp_remote_post( 'https://hooks.example.com/reviews', array(
        'body' => array(
            'comment_id' => $comment_id,
            'product'    => $product->get_name(),
            'average'    => $average,
            'author'     => $comment->comment_author,
            'content'    => $comment->comment_content,
        ),
    ) );
}, 10, 3 );

Exemplo: marcar avaliações ruins pra revisão manual

add_action( 'wc_advanced_reviews_comment_processed', function( $comment_id, $post_id, $average ) {
    if ( $average < 3 ) {
        update_comment_meta( $comment_id, 'needs_review', 'yes' );
    }
}, 10, 3 );

wc_advanced_reviews_reminders

É o evento de cron agendado pelo WordPress que dispara o envio dos e-mails de lembrete. Roda duas vezes por dia (twicedaily).

Localização: o handler está em includes/class-wc-cron.php. O evento é agendado em core-functions.php (wc_advanced_reviews_create_cron()).

Assinatura:

do_action( 'wc_advanced_reviews_reminders' );

Parâmetros: nenhum — o handler busca os pedidos elegíveis sozinho.

Quando hookar nele: pra adicionar lógica que precisa rodar antes ou depois do envio dos lembretes (ex.: relatório diário, integração com BI, log estruturado).

Exemplo: registrar a execução do cron num log próprio

add_action( 'wc_advanced_reviews_reminders', function() {
    error_log( '[reviews] cron executado em ' . current_time( 'mysql' ) );
}, 999 );

A prioridade alta (999) garante que esse callback rode depois do callback principal do plugin (que está em prioridade padrão 10).

Exemplo: forçar o cron manualmente

Pra disparar o cron sem esperar pelo agendamento:

do_action( 'wc_advanced_reviews_reminders' );

Útil pra testes locais. Em produção, prefira wp cron event run wc_advanced_reviews_reminders via WP-CLI — o WordPress gerencia o estado do agendamento corretamente.

Próximos passos

Foi útil?