อีเมลแจ้งเตือนเมื่อมีการเปลี่ยนแปลงโพสต์หรือหน้า


11

มีวิธีให้ Wordpress ส่งอีเมลถึงฉันเมื่อใดก็ตามที่มีการเผยแพร่หน้าหรือโพสต์?

คำตอบ:


19

มีปลั๊กอินบางตัวที่จัดการการแจ้งเตือนทางอีเมลแต่ดูเหมือนว่าทั้งหมดจะทำหน้าที่เหมือนบริการสมัครสมาชิกสำหรับผู้ใช้ WordPress (ทั้งหมด)

หากต้องการแจ้งให้คุณทราบเมื่อมีการโพสต์หรือหน้า:

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

คุณสามารถวางสิ่งนี้ลงในธีมของfunctions.phpคุณหรือบันทึกเป็นปลั๊กอิน (ซึ่งอาจเหมาะสมกว่าเนื่องจากมันไม่เกี่ยวข้องกับ 'ธีม')


3

sha - ตอบคำถามด้วยการให้ความรู้ว่าโซลูชันที่โพสต์ไม่ทำงานในทุกกรณี

หลังจาก 24 ชั่วโมงฉันสามารถอัปเดตความรู้ที่ฉันมีให้ วิธีแก้ปัญหาที่ตำแหน่งนี้ ( แจ้งเตือนผู้ดูแลระบบเมื่อมีการแก้ไขหน้า? ) ทำงานบนเซิร์ฟเวอร์ที่ไม่ได้โพสต์วิธีแก้ไขปัญหาข้างต้น หากต้องการอ้างอิงจากเธรดด้วยโซลูชันที่ทำงานได้ดีขึ้นในสองบริบทฉันได้ลอง:

สคริปต์ต้นฉบับจาก wpcodex ทำงานได้ดี:

 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

มีปลั๊กอินที่ยืดหยุ่นมากที่เรียกว่า " Post Status Notifier " ที่มีอยู่ในไดเรกทอรีปลั๊กอิน WordPress

คุณสามารถกำหนดกฎของตัวเองเมื่อได้รับการแจ้งเตือน คุณสามารถเลือกผู้รับสำเนาถึงสำเนาลับถึงก่อนและหลังสถานะ และคุณสามารถปรับแต่งเนื้อความและหัวเรื่องได้อย่างสมบูรณ์ (ด้วยตัวยึดตำแหน่ง)

ทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน!


คำแนะนำปลั๊กอินอยู่นอกหัวข้อ และแนะนำปลั๊กอินโดยไม่แสดงบรรทัดที่เกี่ยวข้องซึ่งแก้ปัญหานั้นถือว่ามีคุณภาพต่ำ หากปลั๊กอินหายไปคำตอบนั้นจะไร้ค่าและไซต์นั้นทนทุกข์ทรมานจากการเชื่อมโยงที่เน่า
kaiser

-1

หากคุณไม่ต้องการแฮ็กไฟล์ fucntions ของชุดรูปแบบของคุณให้ใช้ปลั๊กอินเช่นนี้ มันส่งการแจ้งเตือนไปยังผู้ดูแลระบบเมื่อผู้มีส่วนร่วมส่งโพสต์เพื่อตรวจสอบและการแจ้งเตือนทางอีเมลไปยังผู้มีส่วนร่วมเมื่อโพสต์มีการเผยแพร่

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


2
คำตอบที่ควรจะเป็นมากกว่าการเชื่อมโยงธรรมดา จริง ๆ แล้วพวกเขาควรเป็นคำตอบแทนที่จะเป็นเส้นทางที่บางคนอาจพบคำตอบ กรุณาช่วยป้องกันไม่ให้ลิงค์เน่าแก้ไขคำตอบของคุณและให้ข้อมูลที่จำเป็นที่ช่วยให้ OP รวมถึงผู้เยี่ยมชมในภายหลังเพื่อแก้ปัญหาของพวกเขา
ไกเซอร์

ฉันคิดว่าคุณแปลผิดเล็กน้อย คุณจะไม่ถูก "แฮ็ค" ไฟล์ฟังก์ชั่น มีไว้เพื่อทำการเปลี่ยนแปลงและใช้ตะขอ
Mike
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.