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
- Filtros disponíveis — pra modificar valores e mensagens.
- Dados armazenados — pra ler avaliações direto do banco.