You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量替换WordPress Admin中所有指定文本内容?

简便修改WordPress后台文本的方法

嘿,手动搜文件改后台文本确实太折腾了——不仅费时间,WordPress或者主题一更新,你的修改就没了。别愁,用WordPress自带的过滤器就能轻松搞定全局替换,而且完全不用碰核心文件,还能一次性处理多个文本:

核心方案:利用gettext过滤器拦截并替换文本

WordPress所有需要翻译的文本都会经过gettext这个钩子,我们可以借助它来拦截目标文本,直接替换成你想要的内容。因为你不需要保留可翻译性,这个方法完美适配你的需求。

代码示例

把下面的代码添加到你的主题functions.php文件,或者更稳妥的自定义插件中:

function custom_replace_admin_text( $translated_text, $text, $domain ) {
    // 在这里定义你需要替换的文本对:键是原始文本,值是替换后的文本
    $text_replacements = array(
        'Dashboard' => '管理控制台',
        'Posts' => '文章库',
        'Media' => '媒体资源',
        'Pages' => '页面管理',
        // 可以继续添加更多需要替换的条目
    );

    // 如果当前文本在替换列表中,返回新文本;否则返回原翻译文本
    if ( array_key_exists( $text, $text_replacements ) ) {
        return $text_replacements[$text];
    }

    return $translated_text;
}
// 添加过滤器,优先级设为20确保能覆盖其他可能的过滤操作
add_filter( 'gettext', 'custom_replace_admin_text', 20, 3 );

代码解释

  • 函数custom_replace_admin_text会接收三个参数:$translated_text(原本要输出的翻译文本)、$text(原始的英文文本)、$domain(文本所属的翻译域)。
  • 我们定义了一个数组$text_replacements,把需要替换的原始文本和新文本一一对应起来。
  • 当检测到原始文本在数组中时,直接返回替换后的内容;否则保持原文本不变。

更稳妥的部署方式:自定义插件

如果你担心主题更新会覆盖functions.php里的修改,推荐创建一个简单的自定义插件:

  1. 新建一个PHP文件,比如custom-admin-text-replacer.php
  2. 在文件开头添加插件头部信息,然后放入上面的替换函数:
<?php
/*
Plugin Name: 后台文本自定义替换
Description: 全局替换WordPress后台指定文本内容
Version: 1.0
Author: 你的名字
*/

function custom_replace_admin_text( $translated_text, $text, $domain ) {
    $text_replacements = array(
        'Dashboard' => '管理控制台',
        // 这里添加更多替换规则
    );

    if ( array_key_exists( $text, $text_replacements ) ) {
        return $text_replacements[$text];
    }

    return $translated_text;
}
add_filter( 'gettext', 'custom_replace_admin_text', 20, 3 );
  1. 把这个文件上传到你的WordPress站点wp-content/plugins/目录下
  2. 登录后台,在「插件」菜单中启用这个插件

这样无论怎么更新主题或WordPress核心,你的替换规则都不会丢失。

验证替换效果

保存代码或启用插件后,刷新WordPress后台页面,检查所有原本显示Dashboard(以及你设置的其他文本)的位置——比如侧边栏菜单、页面标题、面包屑导航等,应该都已经替换成你设置的新文本了。如果有缓存插件,记得清空缓存确保修改生效。

补充:处理复数文本(如果需要)

如果有些文本有复数形式(比如"Comment"和"Comments"),你可以额外添加ngettext过滤器来处理:

function custom_replace_admin_plural_text( $translated_text, $single, $plural, $number, $domain ) {
    $plural_replacements = array(
        'Comment' => array( '评论', '评论' ), // 这里可以设置单数和复数的替换文本
        'Post' => array( '文章', '文章' )
    );

    if ( array_key_exists( $single, $plural_replacements ) ) {
        return $number == 1 ? $plural_replacements[$single][0] : $plural_replacements[$single][1];
    }

    return $translated_text;
}
add_filter( 'ngettext', 'custom_replace_admin_plural_text', 20, 5 );

内容的提问来源于stack exchange,提问作者James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:28:19