Aprovar gancho para comentários?

8

Estou procurando enviar e-mails aos assinantes quando um comentário for aprovado.

As duas ações no Codex são:

1

add_action('comment_post', 'callback', $priority, $accepted_args);

Onde os argumentos estão comment_IDe approval status(0 ou 1).

2)

add_action('edit_comment', 'callback', $priority, $accepted_args);

Com argumento comment_ID

Por padrão, os comentários não são aprovados quando publicados, por isso acho que os editaria quando os aprovasse, mas isso não está claro no Codex. Qual opção devo usar quando aprovar um comentário?

AlxVallejo
fonte

Respostas:

14

Assim como as postagens, um comentário pode ter uma variedade de status diferentes; portanto, em vez de nomear um gancho com cada status, eles têm ganchos de transição, que informam qual status ele tinha antes e qual é o novo status. No seu caso, isso pode fazer o truque:

add_action('transition_comment_status', 'my_approve_comment_callback', 10, 3);
function my_approve_comment_callback($new_status, $old_status, $comment) {
    if($old_status != $new_status) {
        if($new_status == 'approved') {
            // Your code here
        }
    }
}

Deixe-nos saber como vai?

Tomas Buteler
fonte
A tag não seria comment_ (status antigo) _to_ (novo status), também encontrada no Codex?
AlxVallejo
2
Também pode ser, mas isso implica que você conhece o status antigo. Você pode aprovar um comentário marcado como spam ou aprovar um comentário não aprovado. Portanto, é necessário usar dois ganchos para ativar sua função. Eu diria que vá com a transição, porque torna seu código mais fácil de manter.
Tomas Buteler
testado com uma wp_mail();função simples , mas não recebeu a mensagem de teste. está funcionando para você? Eu uso wp 3.5.1
Attila
@ user9909 acabou de testá-lo executando a versão 3.5.1 e funciona. Comece com um código mais simples (error_log () no meu caso) e depure a partir daí, talvez? Usar wp_mail () significa lugares adicionais onde as coisas podem dar errado, incluindo muitos que não têm nada a ver com o WP.
Tomas Buteler
1
Utilize o gancho wp_insert_comment para capturar comentários aprovados automaticamente em tempo real.
Joseph Persie