Avviso Email quando un Articolo o una Pagina viene Modificata
Esistono alcuni plugin che gestiscono le notifiche email, ma sembrano tutti comportarsi come un servizio di abbonamento per (tutti) gli utenti di WordPress.
Per notificare solo te quando un articolo o una pagina viene pubblicata:
/**
* Invia una notifica email all'amministratore quando un articolo viene pubblicato.
*
* @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, in questo caso l'email dell'amministratore
$emailto = get_option( 'admin_email' );
// Oggetto dell'email, "Nuovo {post_type_label}"
$subject = 'Nuovo ' . $post_type->labels->singular_name;
// Corpo dell'email
$message = 'Visualizzalo: ' . get_permalink( $post->ID ) . "\nModificalo: " . get_edit_post_link( $post->ID );
wp_mail( $emailto, $subject, $message );
}
add_action( 'transition_post_status', 'wpse_19040_notify_admin_on_publish', 10, 3 );
Puoi inserire questo codice nel file functions.php
del tuo tema, oppure salvarlo come plugin (potrebbe essere più appropriato, dato che non è strettamente correlato al "tema").

sha -- risponde alla domanda contribuendo con la conoscenza che la soluzione postata non funziona in tutti i casi.
Dopo 24 ore, posso aggiornare la conoscenza che ho contribuito. La soluzione in questa posizione (Notificare l'amministratore quando una pagina viene modificata?) funziona sul server dove la soluzione postata sopra non funziona. Per citare dal thread con la soluzione che funziona meglio nei due contesti che ho provato:
Lo script originale da wpcodex funziona bene:
add_action( 'save_post', 'my_project_updated_send_email' );
function my_project_updated_send_email( $post_id ) {
//verifica che il post non sia una revisione
if ( !wp_is_post_revision( $post_id ) ) {
$post_title = get_the_title( $post_id );
$post_url = get_permalink( $post_id );
$subject = 'Un articolo è stato aggiornato';
$message = "Un articolo è stato aggiornato sul tuo sito web:\n\n";
$message .= "<a href='". $post_url. "'>" .$post_title. "</a>\n\n";
//invia email all'amministratore
wp_mail( get_option( 'admin_email' ), $subject, $message );
}
}

Certamente, dovrai utilizzare l'hook appropriato o gli hook di Transizione dello Stato dell'Articolo e la funzione wp_mail()
.

Esiste un plugin molto flessibile chiamato "Post Status Notifier" disponibile nella directory dei plugin di WordPress.
Puoi definire regole personalizzate su quando una notifica dovrebbe essere inviata. Puoi scegliere il destinatario, Cc, Bcc, lo stato precedente e successivo. E puoi completamente personalizzare il testo del corpo e l'oggetto (con segnaposto).
Funziona perfettamente per me!

Se non vuoi modificare il file functions del tuo tema, puoi utilizzare un plugin come questo. Invia notifiche all'amministratore quando un collaboratore invia un articolo per la revisione, e una notifica email al collaboratore quando l'articolo viene pubblicato.
https://wordpress.org/plugins/wpsite-post-status-notifications/

Le risposte dovrebbero essere più che semplici link. Dovrebbero effettivamente costituire una risposta invece di un percorso dove qualcuno potrebbe forse trovare una soluzione. Aiuta a prevenire i link non funzionanti, [modifica] la tua risposta e fornisci le informazioni necessarie che aiutino l'autore del post così come i visitatori successivi a risolvere il loro problema.
