Alerta por Email cuando se Modifica una Entrada o Página
¿Existe alguna manera de que WordPress me envíe un correo electrónico cada vez que se publica una Página o Entrada?

Existen algunos plugins que manejan notificaciones por correo, pero todos parecen actuar como un servicio de suscripción para (todos) los usuarios de WordPress.
Para notificar solo a ti cuando se publica una entrada o página:
/**
* Envía una notificación por correo al administrador cuando se publica una entrada.
*
* @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;
// Destinatario, en este caso el correo del administrador
$emailto = get_option( 'admin_email' );
// Asunto del correo, "Nuevo {post_type_label}"
$subject = 'Nuevo ' . $post_type->labels->singular_name;
// Cuerpo del correo
$message = 'Verlo: ' . get_permalink( $post->ID ) . "\nEditarlo: " . get_edit_post_link( $post->ID );
wp_mail( $emailto, $subject, $message );
}
add_action( 'transition_post_status', 'wpse_19040_notify_admin_on_publish', 10, 3 );
Puedes colocar esto en el functions.php
de tu tema, o guardarlo como un plugin (lo cual podría ser más apropiado, ya que no está exactamente relacionado con el 'tema').

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 contribuí. La solución en esta ubicación (¿Notificar al administrador cuando se edita una página?) funciona en el servidor donde la solución publicada anteriormente no lo hace. Para citar del hilo con la solución que funciona mejor en los dos contextos que probé:
El script original de wpcodex funciona correctamente:
add_action( 'save_post', 'my_project_updated_send_email' );
function my_project_updated_send_email( $post_id ) {
//verificar que el post no es una revisión
if ( !wp_is_post_revision( $post_id ) ) {
$post_title = get_the_title( $post_id );
$post_url = get_permalink( $post_id );
$subject = 'Un post ha sido actualizado';
$message = "Un post ha sido actualizado en tu sitio web:\n\n";
$message .= "<a href='". $post_url. "'>" .$post_title. "</a>\n\n";
//enviar email al administrador
wp_mail( get_option( 'admin_email' ), $subject, $message );
}
}

Por supuesto, necesitarás utilizar el hook de transición de estado de publicación adecuado o los hooks y la función wp_mail()
.

Existe un plugin muy flexible llamado "Post Status Notifier" disponible en el directorio de plugins de WordPress.
Puedes definir tus propias reglas sobre cuándo se debe enviar una notificación. Puedes elegir el destinatario, Cc, Bcc, el estado anterior y posterior. Y puedes personalizar completamente el texto del cuerpo y el asunto (con marcadores de posición).
¡Funciona perfectamente para mí!

Si no deseas modificar el archivo de funciones de tu tema, entonces utiliza un plugin como este. Envía notificaciones al administrador cuando un colaborador envía una publicación para revisión, y una notificación por correo electrónico al colaborador cuando la publicación es publicada.
https://wordpress.org/plugins/wpsite-post-status-notifications/

Las respuestas deben ser más que simples enlaces. Deben ser realmente una solución en lugar de una ruta donde alguien tal vez encuentre una respuesta. Por favor ayuda a prevenir enlaces rotos, [edita] tu respuesta y proporciona la información necesaria que ayude al OP así como a visitantes posteriores a resolver su problema.
