Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Como añadir notificación de respuesta a comentarios

Esta pequeña funcionalidad que explicamos hoy es muy importante tenerla en nuestro blog, ya que si alguien nos hace una pregunta en un comentario, es esencial que el usuario sepa que le hemos respondido y que tenga un enlace directo a esta respuesta en su propio email, esto hará que vuelva a nuestro artículo y que pueda volver a comentar de una manera ágil y sencilla.

Y es que, por defecto, en los comentarios de WordPress no existe la opción para el usuario que escribe, donde se le notifique por email si alguien responde a alguno de sus comentarios. Te explicamos aquí como hacerlo.

Para implementar esta importante funcionalidad, solo tienes que copiar y pegar este código en el archivo functions.php (siempre de tu Child-Theme o en tu plugin de funcionalidades).

/*********************************************************
 * Notificación a respuestas de comentarios
*********************************************************/

function comment_mail_notify($comment_id) { 
 $admin_notify = '1'; 
 $admin_email = get_bloginfo ('admin_email'); 
 $comment = get_comment($comment_id); 
 $comment_author_email = trim($comment->comment_author_email); 
 $parent_id = $comment->comment_parent ? $comment->comment_parent : ''; 
 global $wpdb; 
 if ($wpdb->query("Describe {$wpdb->comments} comment_mail_notify") == '') 
 $wpdb->query("ALTER TABLE {$wpdb->comments} ADD COLUMN comment_mail_notify TINYINT NOT NULL DEFAULT 0;"); 
 if (($comment_author_email != $admin_email && isset($_POST['comment_mail_notify'])) || ($comment_author_email == $admin_email && $admin_notify == '1')) 
 $wpdb->query("UPDATE {$wpdb->comments} SET comment_mail_notify='1' WHERE comment_ID='$comment_id'"); 
 $notify = $parent_id ? get_comment($parent_id)->comment_mail_notify : '0'; 
 $spam_confirmed = $comment->comment_approved; 
 if ($parent_id != '' && $spam_confirmed != 'spam' && $notify == '1') { 
 $wp_email = 'no-reply@' . preg_replace('#^www.#', '', strtolower($_SERVER['SERVER_NAME'])); // e-mail sender, no-reply can be replaced by an email address
 $to = trim(get_comment($parent_id)->comment_author_email); 
 $subject = 'Respuesta a su comentario en ' . get_bloginfo( 'name', 'display' ); 
 $message = 'Nueva respuesta de ' . trim($comment->comment_author) . ' en ' . get_the_title($comment->comment_post_ID). '

 Ver Comentario ahora: ' . htmlspecialchars(get_comment_link($parent_id)) . '

// Este es un email generado de manera automática, por favor no lo responda';  
 $headers = "$fromnContent-Type: text/html; charset=" . get_option('blog_charset') . "n"; 
 wp_mail( $to, $subject, $message, $headers ); 
 // echo 'mail to ', $to, '
' , $subject, $message; // for testing } } add_action('comment_post', 'comment_mail_notify'); /* Tick the checkbox by default */ function add_checkbox() { echo ''; } add_action('comment_form', 'add_checkbox');

En este código hay textos que los puedes cambiar a tu gusto, siempre con mucho cuidado. Por ejemplo el texto “Notificarme por email cuando respondan a mis comentarios” o el texto que recibirán en su email los usuarios “Este es un email generado de manera automática, por favor no lo responda”.

// Este es un email generado de manera automática, por favor no lo responda';
 $headers = "$fromnContent-Type: text/html; charset=" . get_option('blog_charset') . "n";
 wp_mail( $to, $subject, $message, $headers );
 // echo 'mail to ', $to, 'br /> ' , $subject, $message; // for testing
 }
}
add_action('comment_post', 'comment_mail_notify');
/* Tick the checkbox by default */
function add_checkbox() {
 echo '';
}

Espero que te haya servido de ayuda, si necesitas cualquier otra funcionalidad en comentarios o no te funciona bien esta, no dudes en escribirnos.

Un saludo!



This post first appeared on Taller De Wordpress, please read the originial post: here

Share the post

Como añadir notificación de respuesta a comentarios

×

Subscribe to Taller De Wordpress

Get updates delivered right to your inbox!

Thank you for your subscription

×