Hướng dẫn xóa bản dịch TranslatePress cho một bài viết cụ thể (Reset Translation)

Vấn đề: Bản dịch bị lỗi hoặc không cập nhật

Trong quá trình vận hành website đa ngôn ngữ với TranslatePress, đôi khi bạn sẽ gặp trường hợp bản dịch bị lỗi (ví dụ: tiếng Trung bị hiển thị thành tiếng Việt) hoặc bạn muốn reset lại toàn bộ bản dịch của một bài viết cụ thể để AI dịch lại từ đầu.

Bài viết này sẽ hướng dẫn bạn 2 cách để xóa sạch bản dịch của một bài viết bất kỳ (Post, Page, Product…) mà không ảnh hưởng đến các bài viết khác.

Cách 1: Xóa bằng SQL (Chính xác nhất)

Đây là cách an toàn và chính xác nhất, giúp bạn xóa triệt để dữ liệu trong database.

Bước 1: Tìm ID của bài viết

Truy cập trang quản trị WordPress, vào phần Posts (Bài viết) hoặc Pages (Trang). Rê chuột vào tiêu đề bài viết bạn muốn xử lý, nhìn xuống thanh status bar của trình duyệt, bạn sẽ thấy số ID (ví dụ: post=123).

Bước 2: Xác định mã bài viết và bảng ngôn ngữ

  • ID bài viết: Ví dụ là 123
  • Mã ngôn ngữ cần xóa: Ví dụ tiếng Trung (China) thường là zh_cn, tiếng Anh là en_us. Tên bảng trong database sẽ có dạng wp_trp_dictionary_vi_zh_cn (nếu dịch từ Việt sang Trung).

Bước 3: Chạy câu lệnh SQL

Mở phpMyAdmin (hoặc công cụ quản lý database tương tự), tìm đến database của website và chạy câu lệnh sau:


-- Thay '123' bằng ID bài viết của bạn
-- Thay 'wp_trp_dictionary_vi_zh_cn' bằng tên bảng ngôn ngữ bạn muốn xóa
DELETE FROM `wp_trp_dictionary_vi_zh_cn` 
WHERE `original_id` IN (
    SELECT `original_id` 
    FROM `wp_trp_original_meta` 
    WHERE `meta_key` = 'post_parent_id' 
    AND `meta_value` = '123'
);

Sau khi chạy xong, toàn bộ bản dịch của bài viết đó sẽ bị xóa. Bạn chỉ cần ra ngoài trang chủ và tải lại trang, hệ thống sẽ tự động dịch lại mới.


Cách 2: Dùng Code PHP (Nhanh gọn)

Nếu bạn không rành về database hoặc không muốn đụng vào phpMyAdmin, bạn có thể dùng đoạn code nhỏ sau đây.

Bước 1: Thêm code vào functions.php

Mở file functions.php của theme đang kích hoạt (Giao diện -> Sửa giao diện), và thêm đoạn code này vào cuối file:


add_action('init', function() {
    // Thay đổi số 123 thành ID bài viết bạn muốn xóa
    $post_id_to_clean = 123; 
    
    // Thay đổi thành mã ngôn ngữ bạn muốn xóa (ví dụ: vi_zh_cn, vi_en_us)
    $lang_pair = 'vi_zh_cn'; 
    
    if (isset($_GET['clean_post_id']) && $_GET['clean_post_id'] == $post_id_to_clean) {
        global $wpdb;
        $meta_table = $wpdb->prefix . 'trp_original_meta';
        $dict_table = $wpdb->prefix . 'trp_dictionary_' . $lang_pair;
        
        // Kiểm tra xem bảng có tồn tại không
        if ($wpdb->get_var("SHOW TABLES LIKE '$dict_table'") != $dict_table) {
            wp_die("Bảng $dict_table không tồn tại. Hãy kiểm tra lại mã ngôn ngữ.");
        }

        // Lấy danh sách ID chuỗi thuộc về bài viết này
        $original_ids = $wpdb->get_col($wpdb->prepare(
            "SELECT original_id FROM $meta_table WHERE meta_key = 'post_parent_id' AND meta_value = %s",
            $post_id_to_clean
        ));
        
        if (!empty($original_ids)) {
            $ids_placeholder = implode(',', array_fill(0, count($original_ids), '%d'));
            $wpdb->query($wpdb->prepare(
                "DELETE FROM $dict_table WHERE original_id IN ($ids_placeholder)",
                $original_ids
            ));
            echo "Đã xóa sạch bản dịch cho bài viết ID: " . $post_id_to_clean;
        } else {
            echo "Không tìm thấy chuỗi nào cần xóa hoặc bài viết chưa được dịch.";
        }
        exit;
    }
});

Bước 2: Chạy lệnh xóa

Sau khi lưu file, bạn truy cập đường dẫn sau trên trình duyệt (đăng nhập admin trước nhé):

https://website-cua-ban.com/?clean_post_id=123

(Nhớ thay 123 bằng ID bài viết bạn đã điền trong code).

Bước 3: Xóa code

Sau khi thấy thông báo “Đã xóa sạch bản dịch…”, bạn quay lại file functions.phpxóa đoạn code vừa thêm đi để bảo mật và gọn nhẹ website.


Kết luận

Trên đây là 2 phương pháp giúp bạn reset bản dịch cho một bài viết cụ thể trong TranslatePress. Việc này rất hữu ích khi bạn thay đổi nội dung gốc quá nhiều hoặc khi bản dịch tự động bị lỗi.

Chúc các bạn thành công!

DPS.MEDIA