TranslatePress 特定文章翻译删除指南(重置翻译)

问题:翻译出错或未更新

在运行多语言网站使用 TranslatePress 时,有时您会遇到翻译出错的情况(例如:中文显示为越南文)或者您想要重置特定文章的全部翻译,让 AI 从头翻译。.

本文将指导您 2 种方法来彻底删除任意文章(Post、Page、Product…)的翻译,而不影响其他文章。.

方法 1:使用 SQL 删除(最精确)

这是最安全和最精确的方法,帮助您彻底删除数据库中的数据。.

步骤 1:查找文章 ID

访问 WordPress 管理页面,进入部分 Posts (文章) 广告管理器 Pages (页面). 。 将鼠标悬停在您想要处理的文章标题上,看向浏览器状态栏底部,您会看到数字 ID 结尾(例如: post=123).

步骤 2:确定文章代码和语言表

  • 文章 ID: 例如是 123
  • 需要删除的语言代码: 例如中文(中国)通常是 zh_cn, 英语是 en_us. 。 数据库中的表名将有形式 wp_trp_dictionary_vi_zh_cn (如果从越南语翻译到中文)。.

步骤 3:运行 SQL 命令

打开 phpMyAdmin (或类似数据库管理工具),找到网站数据库并运行以下命令:


-- 将 '123' 替换为您的文章 ID
-- 将 'wp_trp_dictionary_vi_zh_cn' 替换为要删除的语言表名
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'
);

运行完成后,该文章的全部翻译将被删除。您只需返回主页并重新加载页面,系统将自动重新翻译。.


方法 2:使用 PHP 代码(快速简洁)

如果您不熟悉数据库或不想使用 phpMyAdmin,您可以使用以下小段代码。.

步骤 1:将代码添加到 functions.php

打开文件 functions.php 当前激活主题的(外观 -> 编辑主题),并将此代码添加到文件末尾:


add_action('init', function() {
    // 将数字 123 更改为要删除的文章 ID
    $post_id_to_clean = 123; 
    
    // 更改为要删除的语言代码(例如: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;
        
        // 检查表是否存在
        if ($wpdb->get_var("SHOW TABLES LIKE '$dict_table'") != $dict_table) {
            wp_die("表 $dict_table 不存在。请检查语言代码。");
        }

        // 获取属于此文章的字符串 ID 列表
        $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 "已删除文章 ID 的翻译: " . $post_id_to_clean;
        } else {
            echo "未找到需要删除的字符串或文章尚未翻译。";
        }
        exit;
    }
});

步骤 2:运行删除命令

保存文件后,在浏览器中访问以下路径(请先登录管理员):

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

(记得将 123 替换为代码中填写的文章 ID)。.

步骤 3:删除代码

看到“已删除翻译…”的消息后,返回文件 functions.php删除刚刚添加的代码 以确保网站安全和轻量。.


总结

以上是 2 种方法,帮助您在 TranslatePress 中重置特定文章的翻译。这在您大幅更改原始内容或自动翻译出错时非常有用。.

祝您成功!

DPS.MEDIA