如何用add_filter修改LearnPress个人中心的Order Woocommerce文本?
解决LearnPress个人中心WooCommerce订单标签文本修改无效问题
错误原因
你使用的lp_orders_woocommerce过滤器钩子不存在。核心代码中的profile_tabs_woo_order函数是将WooCommerce订单标签添加到个人中心的标签页数组中,而这个数组最终通过LearnPress官方提供的learn-press/user-profile-tabs过滤器对外暴露,你的代码错误指定了不存在的钩子,导致修改不生效。
正确代码
将以下代码替换你原来的代码,放在Eduma子主题的functions.php文件中:
add_filter( 'learn-press/user-profile-tabs', 'change_woocommerce_order_tab_title', 20, 1 ); function change_woocommerce_order_tab_title( $tabs ) { // 确认目标标签页存在后修改标题 if ( isset( $tabs['lp_orders_woocommerce'] ) ) { // 替换为你需要的标题,如需支持翻译保持esc_html__函数,否则直接写字符串 $tabs['lp_orders_woocommerce']['title'] = esc_html__( '新订单标题', 'learnpress-woo-payment' ); } return $tabs; }
代码说明
- 采用LearnPress官方提供的
learn-press/user-profile-tabs过滤器,这是拦截个人中心标签页配置的正确入口 - 设置优先级为20(高于默认的10),确保我们的修改在原标签页添加完成后执行
- 先检查目标标签页的数组键是否存在,避免出现PHP警告
- 使用
esc_html__函数保证文本的安全性和可翻译性,若不需要翻译可直接替换为普通字符串(如'我的订单')
验证步骤
- 保存子主题
functions.php文件 - 清除WordPress缓存及浏览器缓存
- 访问用户个人中心查看标签页文本是否更新
内容的提问来源于stack exchange,提问作者AliZereh
相关产品推荐
相关产品推荐

