如何翻译WooCommerce我的账户模块下非独立子页面的URL路径
WooCommerce 我的账户子页面URL别名翻译/自定义方案
这些子页面的URL别名属于WooCommerce的**端点(Endpoint)**配置,确实不包含在PO翻译文件中,可通过以下两种方案修改:
方案1:后台直接修改(无需代码,优先推荐)
WooCommerce内置了端点可视化配置入口,操作步骤如下:
- 进入WordPress后台,依次打开
WooCommerce→设置→高级选项卡 - 页面下滑找到账户端点配置区,你提到的所有子页别名均在此列表中:
edit-account:账户编辑页别名orders:订单列表页别名downloads:下载资源页别名edit-address:地址编辑页别名payment-methods:支付方式页别名
- 直接将对应输入框内的英文别名替换为你需要的翻译内容(建议使用拼音、短横线分隔的纯中文别名,不要带特殊字符或空格)
- 保存设置后,进入后台
设置→固定链接页面,直接点击「保存更改」(无需修改任何配置,仅刷新URL重写规则即可生效)
方案2:代码钩子自定义(适合多语言站点/动态切换场景)
如果你的站点需要根据当前语言动态返回不同的别名,可通过过滤器实现,将以下代码添加到当前主题的functions.php文件或自定义代码插件中即可:
// 自定义WooCommerce账户端点别名 add_filter( 'woocommerce_get_query_vars', function ( $query_vars ) { // 可按需增减/修改下方端点和对应的自定义别名 $custom_endpoint_map = [ 'orders' => 'wo-de-dingdan', 'edit-account' => 'bianji-zhanghu', 'downloads' => 'wo-de-xiazai', 'edit-address' => 'shouhuo-dizhi', 'payment-methods' => 'zhifu-fangshi' ]; foreach ( $custom_endpoint_map as $original_endpoint => $custom_slug ) { $query_vars[ $custom_slug ] = $original_endpoint; } return $query_vars; } );
- 多语言场景下可在代码中新增当前语言判断逻辑,给不同语言返回对应别名即可
- 添加代码后同样需要进入「固定链接」页面保存刷新重写规则
注意事项
- 不要直接修改WooCommerce核心文件,所有修改均走上述官方提供的配置入口或钩子,避免插件更新后修改被覆盖
- 别名修改后如果出现404报错,优先刷新固定链接规则,绝大多数情况可直接解决
内容的提问来源于stack exchange,提问作者Nina
相关产品推荐
相关产品推荐

