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; });
Chị dâu tôi đã quẹt chiếc thẻ phụ mang tên tôi để mua một cái túi trị giá 280.000 tệ.
Khi bảng sao kê ngân hàng được gửi đến, chồng tôi đang ngồi ngay bên cạnh, còn khuyên tôi nên bao dung.
“Người trong nhà cả, đừng tính toán quá.”
Tôi chỉ mỉm cười nhẹ, không đáp lại lời nào.
Ngay trước mặt anh ấy, tôi âm thầm hạ hạn mức của thẻ phụ xuống còn… 10 tệ.
Ngày hôm sau, chị dâu bị mắc kẹt trong phòng VIP tại Tuần lễ Thời trang Paris và gọi cho tôi hơn 80 cuộc.
Tôi không nghe bất kỳ cuộc nào.
Cuối cùng, mẹ chồng gọi tới, vừa bắt máy đã lớn tiếng mắng thẳng.
“Con khóa thẻ của nó đúng không? Nó đang ở Tuần lễ Thời trang mà bị kẹt cứng trong đó! Con muốn nó mất mặt ch/ết luôn ở đó à? Mau mở thẻ lại ngay!”