Mantap code

by

Muhamamd Syaiful Bahri

function kirim_notifikasi_telegram($post_id) {
    // Pastikan ini adalah post yang dipublikasikan dan bukan revisi
    if (get_post_status($post_id) !== 'publish' || wp_is_post_revision($post_id)) {
        return;
    }

    // Cegah pengiriman email ganda dengan menggunakan transien
    if (get_transient('notifikasi_post_' . $post_id)) {
        return;
    }

    // Mendapatkan informasi post
    $post = get_post($post_id);
    $judul_post = $post->post_title;
    $url_post = get_permalink($post_id);
    $excerpt = get_the_excerpt($post_id);
    $tanggal_post = get_the_date('d F Y', $post_id);

    // Template pesan untuk Telegram
    $message = "*Artikel Baru:* " . esc_html($judul_post) . "\n\n";
    $message .= "Tanggal Publish: " . esc_html($tanggal_post) . "\n\n";
    $message .= "*Excerpt:* \n" . esc_html($excerpt) . "\n\n";
    $message .= "[Lihat Artikel](" . esc_url($url_post) . ")";

    // API Token Bot Telegram
    $api_token = '6703058044:AAEawT_bUTAyr6Piawp1b_CygC67Thk4sMY';  // ID Bot Telegram Anda
    // Chat ID untuk grup
    $chat_id = '-1002082348767';  // ID Grup Telegram Anda

    // Kirim pesan ke Telegram
    $url = 'https://api.telegram.org/bot' . $api_token . '/sendMessage';
    $data = array(
        'chat_id' => $chat_id,
        'text' => $message,
        'parse_mode' => 'Markdown'  // Mengaktifkan format Markdown
    );

    // Inisialisasi cURL
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    // Eksekusi cURL
    $response = curl_exec($ch);
    curl_close($ch);

    // Jika ada error, log untuk debugging
    if (!$response) {
        error_log('Gagal mengirim notifikasi ke Telegram: ' . curl_error($ch));
    }

    // Set transien untuk mencegah pengiriman ulang
    set_transient('notifikasi_post_' . $post_id, true, 12 * HOUR_IN_SECONDS);
}

// Tambahkan fungsi ini ke WordPress hook 'publish_post'
add_action('publish_post', 'kirim_notifikasi_telegram');

Related Post

Sample alt