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

求助:将WooCommerce产品子分类标题从H2改为段落的代码问题

WooCommerce子分类标题标签修改问题排查及修复

原代码存在的问题

  • remove_action目标函数名错误:你写的woocommerce-loop-category__title是标题的CSS类名,而非WooCommerce默认的回调函数名,正确的默认函数是woocommerce_template_loop_category_title。
  • 未接收钩子传递的分类参数:woocommerce_shop_loop_category_title钩子会传递当前分类对象作为参数,直接用get_the_title()无法正确获取分类名称(该函数针对文章/post类型)。
  • HTML转义字符冗余:代码里的<和"没必要保留,直接写原生HTML标签更易读。

修复后的代码

// 移除默认的分类标题钩子
remove_action( 'woocommerce_shop_loop_category_title', 'woocommerce_template_loop_category_title', 10 );
// 添加自定义钩子回调
add_action( 'woocommerce_shop_loop_category_title', 'ChangeCategoryTitle', 10 );

function ChangeCategoryTitle( $category ) {
    // 输出p标签包裹的分类名称,保留原类名保证样式兼容
    echo '<p class="woocommerce-loop-category__title">' . esc_html( $category->name ) . '</p>';
}

额外说明

  • 使用esc_html()对分类名称进行转义,避免XSS安全风险。
  • 保留原CSS类名woocommerce-loop-category__title,确保原有样式不会失效。
  • 代码需添加到主题的functions.php文件或自定义插件中,不要直接修改WooCommerce核心文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 12:35:25