Email di avviso in caso di modifica di qualsiasi post o pagina


11

C'è un modo per farmi mandare un'e-mail da Wordpress ogni volta che viene pubblicata una pagina o un post?

Risposte:


19

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.phpo salvarlo come plug-in (che potrebbe essere più appropriato, poiché non è esattamente correlato al tema).


3

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 ); 
   } 
} 


-1

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!


i consigli sui plugin sono fuori tema. E raccomandare un plugin senza mostrare le linee pertinenti che risolvono la domanda è considerato di bassa qualità. Se il plugin non c'è più, la risposta è inutile e il sito soffre di marcescenza del link.
Kaiser,

-1

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/


2
Le risposte dovrebbero essere più che semplici collegamenti . Dovrebbero effettivamente essere una risposta anziché un percorso in cui qualcuno potrebbe trovare una risposta. Aiuta a prevenire la putrefazione dei link, modifica la tua risposta e fornisci le informazioni necessarie che aiutano l'OP e i visitatori successivi a risolvere il loro problema.
Kaiser

Penso che tu l'abbia frainteso un po '. Non avresti mai "hackerato" il file delle funzioni. È lì per apportare modifiche e implementare hook.
Mike,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.