Herhangi bir Gönderi veya Sayfa Değiştirildiğinde Uyarı E-postası


11

Bir Sayfa veya Gönderi Yayınlandığında Wordpress'in bana e-posta göndermesinin bir yolu var mı?

Yanıtlar:


19

Orada bir var sap e-posta bildirimleri o birkaç eklentileri , ama hepsi (tümü) WordPress kullanıcıları için abonelik hizmeti gibi hareket gibi görünüyor.

Bir yayın veya sayfa yayınlandığında size bildirmek için :

/**
 * 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 );

Bunu temanızın içine bırakabilir functions.phpveya bir eklenti olarak kaydedebilirsiniz (tam olarak 'tema' ile ilgili olmadığı için daha uygun olabilir).


3

Bu, yayınlanan çözümün her durumda işe yaramadığı bilgisine katkıda bulunarak soruyu cevaplar.

24 saat sonra katkıda bulunduğum bilgileri güncelleyebilirim. Bu konumdaki çözüm ( sayfa düzenlendiğinde yöneticiye bildir? ), Yukarıda belirtilen çözümün çalışmadığı sunucuda çalışır. Denediğim iki bağlamda daha iyi çalışan çözüm ile iplikten alıntı yapmak için:

Wpcodex orijinal komut dosyası iyi çalışıyor:

 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

WordPress eklenti dizininde " Post Status Notifier " adlı çok esnek bir eklenti var .

Bir bildirimin ne zaman gönderileceği konusunda kendi kurallarınızı tanımlayabilirsiniz. Durumdan önce ve sonra alıcıyı, Bilgi, Gizli, seçebilirsiniz. Ve gövde metnini ve konuyu (yer tutucularla) tamamen özelleştirebilirsiniz.

Benim için mükemmel çalışıyor!


eklenti önerileri konu dışı. Ve soruyu çözen ilgili satırları göstermeden bir eklenti önermek düşük kalite olarak kabul edilir. Eklenti kaybolduysa, cevap değersizdir ve site bağlantı çürümesinden muzdariptir.
kaiser

-1

Temanızın fucntions dosyasını kesmek istemiyorsanız, bunun gibi bir eklenti kullanın. Katkıda bulunan kişi inceleme için bir yayın gönderdiğinde yöneticiye bildirim gönderir ve yayın yayınlandığında katılımcıya e-posta bildirimi gönderir.

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


2
Cevaplar düz bağlantılardan daha fazlası olmalıdır . Aslında birisinin bir cevap bulabileceği bir rota yerine bir cevap olmalılar . Lütfen bağlantı çürümesini önlemeye yardımcı olun, cevabınızı düzenleyin ve OP'nin ve daha sonraki ziyaretçilerin problemlerini çözmelerine yardımcı olan gerekli bilgileri sağlayın.
kaiser

Bence bunu biraz yanlış yaptın. Asla fonksiyonlar dosyasını "hacklemez". Değişiklik yapmak ve kancaları uygulamak için orada.
Mike
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.