如何修改Woocommerce单产品页标题为对应实际产品标题
代码失效核心原因
- 你使用的
woocommerce_shop_loop_item_title是商品列表页(商店页、分类页)循环商品卡片的标题钩子,和你要修改的产品详情页标题没有关联,因此不会生效 - Xstore是商业主题,自身重写了大量WooCommerce默认逻辑,你要修改的"Product Information"是主题自定义的详情页区块标题,不是WooCommerce默认输出的内容,用默认钩子无法命中
可行解决方案
方法1:主题设置直接修改(最推荐,适配多语言)
Xstore自带单产品页可视化配置功能,直接修改即可:
- 进入WordPress后台→Xstore→Theme Options→WooCommerce→Single Product Builder
- 找到对应页面中的「Product Information」模块,直接修改标题文本即可,多语言站点可以配合多语言插件的字符串翻译功能翻译该字段
方法2:全局字符串替换(无需查找主题钩子)
如果找不到主题设置入口,直接在子主题functions.php中添加如下代码即可替换:
add_filter('gettext', 'custom_change_product_info_title', 20, 3); function custom_change_product_info_title($translated, $text, $domain) { // Xstore主题的文本域为et-core,匹配对应目标字符串 if ($text === 'Product Information' && $domain === 'et-core') { // 此处替换为你需要的文本,多语言场景可传入__()函数适配 $translated = '产品信息'; } return $translated; }
方法3:替换详情页标题为产品实际名称
如果要将该位置改为当前产品的真实名称,使用如下代码:
// 先移除主题原有的标题输出,优先级需和主题原挂载优先级一致,Xstore默认优先级为10 remove_action('woocommerce_single_product_summary', 'etheme_single_product_title', 10); // 挂载自定义标题输出 add_action('woocommerce_single_product_summary', 'custom_output_product_real_title', 10); function custom_output_product_real_title() { // 输出当前产品的真实名称 the_title('<h1 class="product_title entry-title">', '</h1>'); }
需求说明参考

内容的提问来源于stack exchange,提问作者Ruta Danilna
相关产品推荐
相关产品推荐

