Alerta de correo electrónico cuando se modifica cualquier publicación o página

10

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

    
pregunta GavinR 02.06.2011 - 15:09

5 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) 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 functions.php de su tema o guardarlo como un complemento (lo que podría ser más apropiado, ya que no está relacionado exactamente con el tema).

    
respondido por el TheDeadMedic 02.06.2011 - 15:26
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 la solución publicada anteriormente no lo hace. Para citar el 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 ); 
   } 
} 
    
respondido por el Doorwhey 12.04.2013 - 00:27
1

Claro, tendrá que usar los ganchos o ganchos de publicación de estado y wp_mail() .

    
respondido por el Rarst 02.06.2011 - 15:21
-1

Hay un complemento muy flexible llamado " Publicar notificador de estado " disponible en el directorio de complementos de WordPress .

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

¡Funciona perfectamente para mí!

    
respondido por el mikeST 10.02.2014 - 22:03
-1

Si no quieres hackear el archivo de tu tema, usa 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.

enlace

    
respondido por el CreativeDev 02.05.2014 - 23:00

Lea otras preguntas en las etiquetas