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

WooCommerce教程:如何将分类H1标签移至描述上方?

解决WooCommerce分类标题H1显示在描述上方的问题

方案一:调整钩子优先级(推荐)

将函数挂载到woocommerce_archive_description钩子,并设置更低的优先级数字(数字越小执行越早),就能让H1标题在分类描述之前输出:

// 移除之前挂载的钩子(若之前添加过woocommerce_before_shop_loop的钩子)
remove_action('woocommerce_before_shop_loop', 'show_category_title', 10);

// 挂载到分类描述钩子,优先级设为5(早于默认描述的优先级10)
add_action('woocommerce_archive_description', 'show_category_title', 5);

function show_category_title() {
    // 仅在产品分类页面生效
    if (is_product_category()) {
        // 获取当前分类对象,避免标签函数的兼容性问题
        $term = get_queried_object();
        echo '<h1>' . esc_html($term->name) . '</h1>';
    }
}

方案二:使用专门的前置钩子

如果方案一不生效,可尝试挂载到woocommerce_before_archive_description钩子(该钩子专门在分类描述容器上方触发):

remove_action('woocommerce_before_shop_loop', 'show_category_title', 10);

add_action('woocommerce_before_archive_description', 'show_category_title');

function show_category_title() {
    if (is_product_category()) {
        $term = get_queried_object();
        echo '<h1>' . esc_html($term->name) . '</h1>';
    }
}

之前代码无效的原因

  • 未判断当前是否为产品分类页面,导致非分类归档页面不触发
  • single_tag_title主要适配标签页面,产品分类场景下用分类对象获取标题兼容性更好
  • 优先级与默认描述输出设置相同(10),可能被主题或其他插件的逻辑覆盖

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 17:40:17