Email thông báo khi bất kỳ bài đăng hoặc trang nào được thay đổi


10

Có cách nào để Wordpress gửi email cho tôi mỗi khi Trang hoặc Bài đăng được xuất bản không?

Câu trả lời:


18

Có một vài plugin xử lý thông báo email , nhưng tất cả chúng dường như hoạt động như một dịch vụ đăng ký cho (tất cả) người dùng WordPress.

Để thông báo cho bạn khi bài đăng hoặc trang được xuất bản:

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

Bạn có thể bỏ cái này trong chủ đề của mình functions.phphoặc lưu nó dưới dạng plugin (có thể phù hợp hơn, vì nó không chính xác liên quan đến 'chủ đề').


3

sha - nó trả lời câu hỏi bằng cách đóng góp kiến ​​thức rằng giải pháp được đăng không hoạt động trong mọi trường hợp.

Sau 24 giờ, tôi có thể cập nhật kiến ​​thức tôi đã đóng góp. Giải pháp tại vị trí này ( Thông báo cho quản trị viên khi trang được chỉnh sửa? ) Hoạt động trên máy chủ nơi giải pháp được đăng ở trên không. Để trích dẫn từ chủ đề với giải pháp hoạt động tốt hơn trong hai bối cảnh tôi đã thử:

Kịch bản gốc từ wpcodex hoạt động tốt:

 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ó một plugin rất linh hoạt được gọi là " Trình thông báo trạng thái bài " có sẵn trong thư mục plugin WordPress.

Bạn có thể xác định quy tắc riêng khi thông báo sẽ được gửi. Bạn có thể chọn người nhận, Cc, Bcc, trước và sau trạng thái. Và bạn hoàn toàn có thể tùy chỉnh văn bản cơ thể và chủ đề (với trình giữ chỗ).

Hoạt động hoàn hảo cho tôi!


khuyến nghị plugin là lạc đề. Và đề xuất một plugin mà không hiển thị các dòng có liên quan để giải quyết câu hỏi được coi là chất lượng thấp. Nếu plugin không còn, câu trả lời là vô giá trị và trang web bị thối liên kết.
kaiser

-1

Nếu bạn không muốn hack tập tin fucntions của chủ đề, thì hãy sử dụng một plugin như cái này. Nó gửi thông báo cho quản trị viên khi người đóng góp gửi bài đăng để xem xét và thông báo qua email cho người đóng góp khi bài đăng được xuất bản.

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


2
Câu trả lời nên nhiều hơn các liên kết đơn giản . Họ thực sự nên là một câu trả lời thay vì một tuyến đường nơi ai đó có thể sẽ tìm thấy câu trả lời. Vui lòng giúp ngăn ngừa thối liên kết, chỉnh sửa câu trả lời của bạn và cung cấp thông tin cần thiết giúp OP cũng như khách truy cập sau này giải quyết vấn đề của họ.
kaiser

Tôi nghĩ rằng bạn đã sai lệch một chút. Bạn sẽ không bao giờ bị "hack" tập tin chức năng. Đó là để thực hiện các thay đổi và thực hiện móc.
Mike
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.