Aprobar comentario gancho?

8

Estoy buscando enviar correos electrónicos a los suscriptores cuando un comentario ha sido aprobado.

Las dos acciones en el Codex son:

1)

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

Donde están los argumentos comment_IDy approval status(0 o 1).

2)

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

Con argumento comment_ID

Por defecto, los comentarios no se aprueban cuando se publican, por lo que creo que los editaría cuando los apruebe, pero no está claro en el Codex. ¿Qué opción debo usar cuando apruebo un comentario?

AlxVallejo
fuente

Respuestas:

14

Al igual que las publicaciones, un comentario puede tener una variedad de estados diferentes, por lo que en lugar de nombrar un gancho con cada estado, tienen ganchos de transición, que le indican qué estado tenía antes y cuál es el nuevo estado. En su caso, esto podría hacer el truco:

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
        }
    }
}

Háganos saber cómo va?

Tomás Buteler
fuente
¿No sería la etiqueta comment_ (estado anterior) _to_ (estado nuevo), que también se encuentra en el Codex?
AlxVallejo
2
También podría serlo, pero implica que conoces el estado anterior. Puede aprobar un comentario marcado como spam, o aprobar un comentario no aprobado, por lo que tendría que usar dos ganchos para activar su función. Yo diría que vaya con la transición, porque hace que su código sea más fácil de mantener.
Tomas Buteler
probado con una wp_mail();función simple , pero no recibí el mensaje de prueba. te esta funcionando? Uso wp 3.5.1
Attila
@ user9909 acaba de probarlo ejecutando 3.5.1 y funciona. Comience con un código más simple (error_log () en mi caso) y depure desde allí, ¿tal vez? Usar wp_mail () significa lugares adicionales donde las cosas pueden salir mal, incluidos muchos que no tienen nada que ver con WP.
Tomas Buteler
1
Utilice el gancho wp_insert_comment para captar comentarios que se aprueban automáticamente sobre la marcha.
Joseph Persie