El aviso por email de nuevos comentarios en WordPress llega al autor de la entrada donde se ha comentado. Esto no garantiza que te vayas a enterar ya que es posible que tengas más gente publicando en tu web. Otra posibilidad es que tengas varias cuentas de usuario, algo recomendado por cuestiones de seguridad, y no siempre te enteres cuando tienes algún comentario esperándote para ser aprobado.
Existen plugins para casi todo y seguro que para solucionar esto también pero como siempre yo prefiero la solución a través de código antes que sobrecargar mi WordPress de plugins.
La forma de resolver esto por la que he optado se compone de 2 pasos:
habilito una caja de texto donde introducir la dirección o direcciones de correo electrónico donde quiero que llegue el aviso por email de nuevos comentarios.
La caja de texto la voy a poner en un nuevo apartado de Apariencia > Personalizar introduciendo esta función en el archivo functions.php
function email_aviso_comentarios($wp_customize) {
$section = 'email_aviso_comentarios';
$wp_customize->add_section( $section, array(
'title' => 'Emails aviso comentarios',
'description' => 'Emails donde avisar de nuevos comentarios',
'priority' => 125,
) );
$name = "email-aviso-comentarios";
$wp_customize->add_setting( $name, array(
'default' => '',
) );
$wp_customize->add_control( new WP_Customize_Control( $wp_customize, $name, array(
'label' => 'Emails aviso comentarios',
'description' => 'Un email por línea',
'section' => $section,
'settings' => $name,
'type' => 'textarea'
) ) );
}
add_action( 'customize_register', 'email_aviso_comentarios' );
Hecho esto lo siguiente es introducir la función que enviará los emails en el archivo functions.php
function se_comment_moderation_recipients( $emails, $comment_id ) {
// los emails están en un textarea, uno por línea
$emails = explode(PHP_EOL, get_theme_mod( 'email-aviso-comentarios' ) );
return $emails;
}
add_filter( 'comment_moderation_recipients', 'se_comment_moderation_recipients', 11, 2 );
Este código leerá las direcciones de correo que hay en la caja de texto que he creado antes y enviará el aviso por email de nuevos comentarios pendientes de moderación al destinatario o destinatarios.
Jesús
Hola!
Genial artículo, me gustaría como sería el snippet para que te avise de todos los comentarios y no únicamente de aquellos pendientes de moderar.
Mil gracias!
Xavier Rea
Excelente post