0
Your Rating
use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; add_action('wp_ajax_mme_export', function(){ if (!current_user_can('manage_options')) wp_die('Không đủ quyền.'); $ids = json_decode(stripslashes($_POST['ids'] ?? '[]'), true); if (empty($ids)) wp_die('No IDs selected'); // Include autoload PhpSpreadsheet nếu chưa include if (!class_exists('PhpOffice\PhpSpreadsheet\Spreadsheet')) { require_once __DIR__ . '/vendor/autoload.php'; } $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); // Tiêu đề cột theo thứ tự mong muốn $sheet->fromArray(['Content', 'Title', 'ID', 'Thumbnail'], null, 'A1'); $row_num = 2; // dữ liệu bắt đầu từ dòng 2 global $wp_manga_functions; foreach ((array)$ids as $i => $manga_id) { $post = get_post($manga_id); if (!$post || $post->post_type !== 'wp-manga') continue; $payload = mme_get_first_chapter_payload($post->ID); // Bỏ truyện rỗng nội dung chương 1 $chapter_text = trim($payload['content'] ?? ''); if ($chapter_text === '') continue; // Bỏ truyện không có thumbnail if (!has_post_thumbnail($post->ID)) continue; $thumb_url = get_the_post_thumbnail_url($post->ID, 'full'); // GHÉP CONTENT $content = "#truyenful #truyenmoihay\n📚\n"; $content .= $chapter_text . "\n\n"; $cta_list = [ 'LINH FULL ĐÃ ĐƯỢC GHIM! Để đường dẫn hiển thị rõ ràng. KÉO XUỐNG CMT, nhớ BẬT XEM TẤT CẢ để thấy linh nha mọi người!', 'Truyện FULL đã được ghim! 🚀 Kéo xuống phần CMT, bật XEM TẤT CẢ để không bỏ lỡ nha mọi người!', 'ĐỪNG LƯỚT QUA! LINH FULL có sẵn, kéo xuống phần CMT và bật XEM TẤT CẢ để lấy link ngay!', 'Cập nhật FULL rồi nè! ⬇️ Kéo xuống comment, nhớ bật XEM TẤT CẢ để nhận link nha cả nhà!', 'LINH FULL đã sẵn sàng! Kéo xuống CMT, bật XEM TẤT CẢ để đường dẫn hiển thị đầy đủ!' ]; $content .= $cta_list[array_rand($cta_list)] . "\n\n"; $content .= $post->ID; // Ghi vào sheet theo thứ tự Content, Title, ID, Thumbnail $sheet->setCellValue("A{$row_num}", $content); $sheet->setCellValue("B{$row_num}", html_entity_decode($post->post_title, ENT_QUOTES | ENT_HTML5, 'UTF-8')); $sheet->setCellValue("C{$row_num}", $post->ID); $sheet->setCellValue("D{$row_num}", $thumb_url); $row_num++; // Đánh dấu đã export update_post_meta($post->ID, '_mme_exported', 1); } // Xuất file Excel $writer = new Xlsx($spreadsheet); $filename = 'manga-export-' . date('Y-m-d_H-i') . '.xlsx'; header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment; filename="' . $filename . '"'); header('Cache-Control: max-age=0'); $writer->save('php://output'); exit; });
Ngày giỗ của mẹ, tôi mang theo bó hoa đến ngôi mộ trị giá ba trăm nghìn tệ mà chính tay tôi mua cho bà.
Vừa đặt chân tới nơi, tôi chết lặng.
Phần mộ của mẹ tôi không còn nữa, thay vào đó là tấm bia của một người hoàn toàn xa lạ.
Cơn giận bốc lên, tôi lập tức tìm quản lý nghĩa trang để hỏi cho rõ.
Ông ta nói chồng tôi đã tự ý chuyển bia mộ đi, còn mở cho tôi xem đoạn video giám sát.
Trong video, chồng tôi ôm một người phụ nữ, gương mặt lạnh lùng, tự tay dời bia mộ của mẹ tôi.
Tôi lập tức gọi cho anh trai: “Giúp em tống hai người vào tù, để mẹ dưới suối vàng được yên lòng!”