Cấu hình gửi các cảnh báo WordPress về Telegram

22
0

WordPress là một nền tảng quản lý nội dung phổ biến được sử dụng rộng rãi trên khắp thế giới. Khi bạn sử dụng WordPress để quản lý trang web của mình, việc cấu hình gửi các cảnh báo về các sự kiện quan trọng như post mới, đơn hàng Woocommerce và bình luận mới có thể giúp bạn quản lý trang web một cách hiệu quả hơn. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách cấu hình gửi các cảnh báo WordPress về Telegram để bạn có thể nhận thông báo ngay khi có sự kiện quan trọng xảy ra trên trang web của mình.

I. Các function gửi cảnh báo

Ở bên dưới tôi chia sẻ lại 3 functions gửi cảnh báo về Telegram. Bạn lựa chọn để sử dụng phù hợp nhé.

1. Gửi thông báo khi có post mới

DOTRUNGQUAN.INFO
function send_telegram_notification_post($post_id) {
    // Lấy thông tin bài đăng mới
    $post = get_post($post_id);
    $post_title = $post->post_title;
    $post_url = get_permalink($post_id);
    
    // Cấu hình thông tin bot và kênh Telegram
    $telegram_bot_token = 'Token_telegram_here';
    $telegram_channel_name = 'ID chat';
    
    // Tạo URL cho việc gửi tin nhắn đến kênh Telegram
    $telegram_api_url = 'https://api.telegram.org/bot' . $telegram_bot_token . '/sendMessage';
    
    // Tạo nội dung tin nhắn
    $telegram_message = '???? Có bài đăng mới trên website: ' . $post_title . PHP_EOL . $post_url;
    
    // Gửi tin nhắn đến kênh Telegram
    $response = wp_remote_post($telegram_api_url, array(
        'body' => array(
            'chat_id' => $telegram_channel_name,
            'text' => $telegram_message,
        )
    ));
    
    // Kiểm tra kết quả gửi tin nhắn
    if (is_wp_error($response)) {
        error_log('Lỗi gửi thông báo đến Telegram: ' . $response->get_error_message());
    } else {
        error_log('Thông báo đã được gửi đến Telegram!');
    }
}

// Đăng ký hàm để thực hiện khi có bài đăng mới
add_action('publish_post', 'send_telegram_notification_post');
    

Chú thích

Hàm này có chức năng gửi thông báo đến một kênh trên Telegram khi có bài đăng mới trên trang web WordPress của bạn. Hàm này sẽ được kích hoạt mỗi khi một bài đăng mới được xuất bản trên trang web của bạn bằng cách sử dụng hàm add_action và đăng ký send_telegram_notification_post() như một hàm thực hiện khi có sự kiện publish_post.

Trong hàm send_telegram_notification_post(), đầu tiên nó lấy thông tin về bài đăng mới bằng cách sử dụng get_post() và lấy tiêu đề và URL của bài đăng. Tiếp theo, hàm này sử dụng thông tin bot Telegram và kênh để cấu hình thông tin. Sau đó, nó tạo URL để gửi tin nhắn đến kênh Telegram và tạo nội dung tin nhắn bằng cách sử dụng tiêu đề và URL của bài đăng.

Cuối cùng, hàm này sử dụng hàm wp_remote_post() để gửi tin nhắn đến kênh Telegram và kiểm tra kết quả gửi tin nhắn bằng cách sử dụng is_wp_error(). Nếu gửi tin nhắn bị lỗi, hàm này sẽ ghi lại thông báo lỗi vào bản ghi lỗi. Nếu gửi tin nhắn thành công, hàm này sẽ ghi lại thông báo thành công vào bản ghi lỗi.

2. Gửi thông báo khi có đơn hàng trên woocommerce

DOTRUNGQUAN.INFO
add_action( 'woocommerce_new_order', 'send_telegram_notification_new_order', 10, 1 );

function send_telegram_notification_new_order( $order_id ) {
  $telegram_token = 'xxxxxxx';
  $telegram_chat_id = '-xxxxx';
  $order = wc_get_order( $order_id );
  $order_total = $order->get_total();
  $order_items = $order->get_items();
  $customer_email = $order->get_billing_email();
  $item_names = array();
  foreach ( $order_items as $item ) {
    $item_names[] = $item->get_name();
  }
  $message = 'Chúng ta có khách hàng mới nè!!!!' . PHP_EOL;
  $message .= 'Đơn hàng mới: #' . $order_id . PHP_EOL;
  $message .= 'Khách hàng: ' . $order->get_billing_first_name() . ' ' . $order->get_billing_last_name() . PHP_EOL;
  $message .= 'Email khách hàng:' . $order->get_billing_email() . PHP_EOL;
  $message .= 'Tổng Tiền Đơn Hàng: ' . $order->get_total() . PHP_EOL;
  $url = 'https://api.telegram.org/bot' . $telegram_token . '/sendMessage';
  $data = array(
    'chat_id' => $telegram_chat_id,
    'text' => $message,
  );
  wp_remote_post( $url, array(
    'body' => $data,
  ) );
}
    

Chú thích:

Hàm này sẽ gửi thông báo đến một kênh trên Telegram khi có đơn hàng mới được đặt trên trang web WooCommerce của bạn. Hàm này sẽ được kích hoạt mỗi khi có đơn hàng mới được tạo ra bằng cách sử dụng hàm add_action và đăng ký send_telegram_notification_new_order() như một hàm thực hiện khi có sự kiện woocommerce_new_order.

Trong hàm send_telegram_notification_new_order(), đầu tiên nó sử dụng thông tin bot Telegram và kênh để cấu hình thông tin. Sau đó, hàm này sử dụng wc_get_order() để lấy thông tin về đơn hàng mới bằng $order_id được truyền vào. Tiếp theo, hàm này lấy thông tin về tổng giá trị đơn hàng, các sản phẩm trong đơn hàng, địa chỉ email khách hàng và các thông tin khác về đơn hàng.

Cuối cùng, hàm này sử dụng các thông tin về đơn hàng để tạo nội dung tin nhắn bằng cách sử dụng các biến đã lấy được và sử dụng hàm wp_remote_post() để gửi tin nhắn đến kênh Telegram. Tin nhắn này sẽ bao gồm thông tin về đơn hàng mới, bao gồm số đơn hàng, tên khách hàng, địa chỉ email khách hàng, tổng giá trị đơn hàng và danh sách các sản phẩm trong đơn hàng.

3. Gửi thông báo khi có bình luận mới (comment)

DOTRUNGQUAN.INFO
// gửi lên telegram khi có bình luận mới
function send_comment_notification($comment_id) {
    $comment = get_comment($comment_id);
    $comment_author = $comment->comment_author;
    $comment_content = $comment->comment_content;
    $comment_post_url = get_permalink($comment->comment_post_ID);
    $telegram_api_token = 'xxxxxxxx';
    $telegram_chat_id = '-xxxxxxxx';
    $telegram_message = "Có bình luận mới từ $comment_author" . PHP_EOL . " bài viết link:  $comment_post_url." . PHP_EOL  . " Nội dung bình luận: $comment_content";
    $telegram_send_message_url = "https://api.telegram.org/bot$telegram_api_token/sendMessage?chat_id=$telegram_chat_id&text=$telegram_message";
    wp_remote_get($telegram_send_message_url);
}
add_action('comment_post', 'send_comment_notification');
    

Chú thích:

Hàm send_comment_notification có chức năng gửi tin nhắn thông báo lên kênh Telegram khi có bình luận mới trên website WordPress. Khi một bình luận mới được đăng tải trên website, hàm này sẽ lấy thông tin của bình luận đó, bao gồm tác giả, nội dung và URL của bài đăng mà bình luận được đăng trên. Sau đó, hàm sẽ sử dụng API của Telegram để gửi tin nhắn thông báo lên kênh Telegram được cấu hình trước đó với nội dung tương ứng với thông tin của bình luận mới. Hàm này được đăng ký để thực hiện khi có sự kiện ‘comment_post’ xảy ra.

Lưu ý: Trong các functions bạn cần thay 2 giá trị sau bằng thông tin của bạn để hệ thống gửi chính xác về bot và kênh trên Telegram của bạn.

$telegram_api_token = 'xxxxxxxx';
$telegram_chat_id = '-xxxxxxxx';

II. Hướng dẫn thêm functions

Các mã functions trên được thêm vào file functions.php trong đường dẫn wp-content/themes/my-theme. Bạn truy cập vào đường dẫn tương ứng trên để vào thư mục theme và mở file để thêm.

Cấu hình gửi các cảnh báo WordPress về Telegram

Bên dưới là một ví dụ mà tôi thêm vào.

Cấu hình gửi các cảnh báo WordPress về Telegram

Và đây là một vài kết quả sau khi tôi cấu hình. Mọi bình luận trên WordPress sẽ được gửi về telegram. Giúp tôi theo sát được website và không bị miss thông tin.

image 50

III. Tổng kết

Trong bài viết này, chúng ta đã tìm hiểu về các hàm WordPress để gửi thông báo lên Telegram khi có các sự kiện như đăng bài mới, đơn hàng mới, hoặc bình luận mới trên trang web của bạn.

Các hàm này sử dụng API của Telegram để gửi tin nhắn đến kênh Telegram của bạn. Khi có sự kiện xảy ra trên trang web của bạn, hàm sẽ lấy thông tin liên quan và tạo ra một tin nhắn, sau đó gửi tin nhắn đó lên Telegram.

Việc sử dụng các hàm này sẽ giúp bạn có thể nhận được thông báo ngay lập tức khi có sự kiện quan trọng xảy ra trên trang web của bạn. Bạn có thể tùy chỉnh nội dung tin nhắn để phù hợp với nhu cầu của mình.

Hi vọng rằng bài viết này sẽ giúp bạn có thêm kiến thức và ứng dụng được các hàm WordPress để tạo ra các thông báo hiệu quả cho trang web của mình.

Đỗ Trung Quân
WRITTEN BY

Đỗ Trung Quân

Nguồn nội dung này đến từ Website DoTrungQuan.info

Trả lời