Risposte:
Ci sono alcuni plugin che gestiscono le notifiche e-mail , ma sembrano tutti agire come un servizio di abbonamento per (tutti) gli utenti di WordPress.
Per notificare solo te quando viene pubblicato un post o una pagina:
/**
* 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 );
Puoi rilasciarlo nel tuo tema functions.php
o salvarlo come plug-in (che potrebbe essere più appropriato, poiché non è esattamente correlato al tema).
sha - risponde alla domanda contribuendo con la consapevolezza che la soluzione pubblicata non funziona in tutti i casi.
Dopo 24 ore, posso aggiornare le conoscenze che ho contribuito. La soluzione in questa posizione ( Notifica all'amministratore quando la pagina viene modificata? ) Funziona sul server in cui la soluzione pubblicata sopra non funziona. Per citare dal thread con la soluzione che funziona meglio nei due contesti che ho provato:
Lo script originale di wpcodex funziona bene:
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 );
}
}
Certo, dovrai usare gli hook o gli hook appropriati di Transizione stato posta e wp_mail()
.
C'è un plugin molto flessibile chiamato " Post Status Notifier " disponibile nella directory dei plugin di WordPress.
È possibile definire regole proprie quando inviare una notifica. Puoi scegliere il destinatario, Cc, Ccn, prima e dopo lo stato. E puoi personalizzare completamente il testo del corpo e l'oggetto (con segnaposto).
Funziona perfettamente per me!
Se non vuoi hackerare il file fucntions del tuo tema, usa un plugin come questo. Invia notifiche all'amministratore quando il contributore invia un post per la revisione e notifica e-mail al contributore quando il post viene pubblicato.
https://wordpress.org/plugins/wpsite-post-status-notifications/