Alertă Email când orice Articol sau Pagină este Modificată

2 iun. 2011, 16:09:34
Vizualizări: 22.6K
Voturi: 11

Există vreo modalitate prin care WordPress să-mi trimită un email de fiecare dată când o Pagină sau un Articol este Publicat?

0
Toate răspunsurile la întrebare 5
0
19

Există câteva plugin-uri care gestionează notificările prin email, dar toate par să funcționeze ca un serviciu de abonare pentru (toți) utilizatorii WordPress.

Pentru a te notifica doar pe tine atunci când un articol sau o pagină este publicată:

/**
 * Trimite o notificare prin email administratorului atunci când un articol este publicat.
 * 
 * @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;

    // Destinatar, în acest caz email-ul administratorului
    $emailto = get_option( 'admin_email' );

    // Subiectul email-ului, "New {post_type_label}"
    $subject = 'Nou ' . $post_type->labels->singular_name;

    // Conținutul email-ului
    $message = 'Vizualizează-l: ' . get_permalink( $post->ID ) . "\nEditează-l: " . get_edit_post_link( $post->ID );

    wp_mail( $emailto, $subject, $message );
}

add_action( 'transition_post_status', 'wpse_19040_notify_admin_on_publish', 10, 3 );

Poți să adaugi acest cod în functions.php al temei tale, sau să îl salvezi ca un plugin (ceea ce ar putea fi mai potrivit, deoarece nu este exact legat de 'temă').

2 iun. 2011 16:26:39
0

sha -- răspunde la întrebare contribuind cu informația că soluția postată nu funcționează în toate cazurile.

După 24 de ore, pot actualiza cunoștințele pe care le-am contribuit. Soluția de la această locație (Notify admin when page is edited?) funcționează pe serverul unde soluția postată mai sus nu funcționează. Pentru a cita din firul de discuție cu soluția care funcționează mai bine în cele două contexte pe care le-am încercat:

Scriptul original de pe wpcodex funcționează bine:

 add_action( 'save_post', 'my_project_updated_send_email' ); 
 function my_project_updated_send_email( $post_id ) { 
    //verifică dacă postarea nu este o revizie 
    if ( !wp_is_post_revision( $post_id ) ) { 
         $post_title = get_the_title( $post_id ); 
         $post_url = get_permalink( $post_id ); 
         $subject = 'O postare a fost actualizată'; 
         $message = "O postare a fost actualizată pe site-ul tău:\n\n";
         $message .= "<a href='". $post_url. "'>" .$post_title. "</a>\n\n"; 
         //trimite email către administrator 
         wp_mail( get_option( 'admin_email' ), $subject, $message ); 
   } 
} 
12 apr. 2013 01:27:07
0

Desigur, va trebui să utilizați cârligul sau cârligele adecvate pentru Tranziția Stării Postării și funcția wp_mail().

2 iun. 2011 16:21:42
1
-1

Există un plugin foarte flexibil numit "Post Status Notifier" disponibil în directorul de plugin-uri WordPress.

Poți defini propriile reguli, când o notificare ar trebui să fie trimisă. Poți alege destinatarul, Cc, Bcc, starea înainte și după. Și poți personaliza complet textul mesajului și subiectul (cu substituenți).

Funcționează perfect pentru mine!

10 feb. 2014 23:03:05
Comentarii

[tag:plugin-recommendations] sunt off topic. Și recomandarea unui plugin fără a afișa liniile relevante care rezolvă întrebarea este considerată de calitate scăzută. Dacă plugin-ul dispare, răspunsul devine inutil și site-ul suferă de link rot.

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

Dacă nu doriți să modificați fișierul de funcții al temei, atunci puteți utiliza un plugin precum acesta. Acesta trimite notificări administratorului atunci când un contributor trimite un articol pentru revizuire și o notificare prin email contributorului atunci când articolul este publicat.

https://wordpress.org/plugins/wpsite-post-status-notifications/

3 mai 2014 00:00:06
Comentarii

Răspunsurile ar trebui să fie mai mult decât simple link-uri. Ar trebui să fie un răspuns real în loc de o rută unde cineva poate găsi un răspuns. Te rog ajută la prevenirea link-urilor moarte, [editează] răspunsul tău și oferă informațiile necesare care îi ajută pe OP precum și pe vizitatorii ulteriori să rezolve problema lor.

kaiser kaiser
3 mai 2014 00:23:52

Cred că ai formulat puțin greșit. Nu ai "hack-ui" niciodată fișierul de funcții. El este acolo pentru a face modificări și a implementa hook-uri.

Mike Mike
6 mai 2014 17:12:40