Avviso Email quando un Articolo o una Pagina viene Modificata

2 giu 2011, 16:09:34
Visualizzazioni: 22.6K
Voti: 11

Esiste un modo per ricevere un'email da WordPress ogni volta che viene pubblicata una Pagina o un Articolo?

0
Tutte le risposte alla domanda 5
0
19

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").

2 giu 2011 16:26:39
0

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 ); 
   } 
} 
12 apr 2013 01:27:07
0

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

2 giu 2011 16:21:42
1
-1

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!

10 feb 2014 23:03:05
Commenti

[tag:plugin-recommendations] sono fuori tema. E raccomandare un plugin senza mostrare le righe di codice rilevanti che risolvono la domanda è considerato di bassa qualità. Se il plugin non è più disponibile, la risposta diventa inutile e il sito soffre di link rot.

kaiser kaiser
11 feb 2014 00:35:21
2
-1

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/

3 mag 2014 00:00:06
Commenti

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.

kaiser kaiser
3 mag 2014 00:23:52

Penso che tu l'abbia espresso in modo leggermente errato. Non saresti mai a "violare" il file delle funzioni. Esiste proprio per apportare modifiche e implementare hook.

Mike Mike
6 mag 2014 17:12:40