Correo electrónico de alerta cuando se cambia cualquier publicación o página

10

¿Hay alguna manera de que Wordpress me envíe un correo electrónico cada vez que se publique una página o publicación?

GavinR
fuente

Respuestas:

18

Hay algunos complementos que manejan las notificaciones por correo electrónico , pero todos parecen actuar como un servicio de suscripción para (todos) los usuarios de WordPress.

Para notificar solo a usted cuando se publica una publicación o página:

/**
 * Send an email notification to the administrator when a post is published.
 * 
 * @param   string  $new_status
 * @param   string  $old_status
 * @param   object  $post
 */
function wpse_19040_notify_admin_on_publish( $new_status, $old_status, $post ) {
    if ( $new_status !== 'publish' || $old_status === 'publish' )
        return;
    if ( ! $post_type = get_post_type_object( $post->post_type ) )
        return;

    // Recipient, in this case the administrator email
    $emailto = get_option( 'admin_email' );

    // Email subject, "New {post_type_label}"
    $subject = 'New ' . $post_type->labels->singular_name;

    // Email body
    $message = 'View it: ' . get_permalink( $post->ID ) . "\nEdit it: " . get_edit_post_link( $post->ID );

    wp_mail( $emailto, $subject, $message );
}

add_action( 'transition_post_status', 'wpse_19040_notify_admin_on_publish', 10, 3 );

Puede colocar esto en su tema functions.phpo guardarlo como un complemento (que podría ser más apropiado, ya que no está exactamente relacionado con el "tema").

TheDeadMedic
fuente
3

sha: responde a la pregunta aportando el conocimiento de que la solución publicada no funciona en todos los casos.

Después de 24 horas, puedo actualizar el conocimiento que aporté. La solución en esta ubicación (¿ Notificar al administrador cuando se edita la página? ) Funciona en el servidor donde no funciona la solución publicada anteriormente. Para citar del hilo con la solución que funciona mejor en los dos contextos que probé:

El script original de wpcodex funciona bien:

 add_action( 'save_post', 'my_project_updated_send_email' ); 
 function my_project_updated_send_email( $post_id ) { 
    //verify post is not a revision 
    if ( !wp_is_post_revision( $post_id ) ) { 
         $post_title = get_the_title( $post_id ); 
         $post_url = get_permalink( $post_id ); 
         $subject = 'A post has been updated'; 
         $message = "A post has been updated on your website:\n\n";
         $message .= "<a href='". $post_url. "'>" .$post_title. "</a>\n\n"; 
         //send email to admin 
         wp_mail( get_option( 'admin_email' ), $subject, $message ); 
   } 
} 
Doorwhey
fuente
-1

Hay un complemento muy flexible llamado " Notificador de estado de publicación " disponible en el directorio de complementos de WordPress.

Puede definir sus propias reglas, cuando se debe enviar una notificación. Puede elegir el estado del destinatario, CC, CCO, antes y después. Y puede personalizar completamente el texto del cuerpo y el asunto (con marcadores de posición).

¡Funciona perfectamente para mí!

mikeST
fuente
las recomendaciones de complementos están fuera de tema. Y recomendar un complemento sin mostrar las líneas relevantes que resuelven la pregunta se considera de baja calidad. Si el complemento desaparece, la respuesta no tiene valor y el sitio sufre de rotura de enlaces.
kaiser
-1

Si no desea hackear el archivo de funciones de su tema, utilice un complemento como este. Envía notificaciones al administrador cuando el colaborador envía una publicación para su revisión, y una notificación por correo electrónico al colaborador cuando se publica la publicación.

https://wordpress.org/plugins/wpsite-post-status-notifications/

CreativeDev
fuente
2
Las respuestas deberían ser más que enlaces simples . En realidad, deberían ser una respuesta en lugar de una ruta donde alguien quizás encuentre una respuesta. Ayude a evitar la descomposición del enlace, edite su respuesta y proporcione la información necesaria que ayude al OP y a los visitantes posteriores a resolver su problema.
Kaiser
Creo que lo has equivocado un poco. Nunca estarías "hackeando" el archivo de funciones. Está ahí para hacer cambios e implementar ganchos.
Mike