如何修改WooCommerce产品短码中的标题标签为H4(不影响分类页)
解决WooCommerce产品短码标题标签修改问题
要仅将[products]短码生成的产品标题标签改为H4,同时不影响分类页的H2标题,可通过WooCommerce的专属过滤器结合上下文判断实现:
具体实现步骤
- 将以下代码添加到主题的
functions.php文件,或自定义功能插件中:
add_filter( 'woocommerce_product_loop_title_tag', 'custom_change_shortcode_product_title_tag' ); function custom_change_shortcode_product_title_tag( $tag ) { // 判断当前是否处于产品短码的渲染上下文 if ( did_action( 'woocommerce_shortcode_before_products_loop' ) ) { return 'h4'; } // 非短码场景保持原有标签(分类页等) return $tag; }
代码说明
woocommerce_product_loop_title_tag是WooCommerce内置的过滤器,专门控制产品循环中标题的HTML标签,默认返回h2。did_action( 'woocommerce_shortcode_before_products_loop' )用于精准识别[products]短码的渲染场景——这个动作钩子是WooCommerce执行产品短码时专属触发的,能完美区分短码生成的产品网格和分类页等常规产品网格。- 短码场景下强制返回
h4标签,其他场景保持原有标签值,确保分类页不受影响。
验证方法
添加代码后,刷新使用[products]短码的页面,检查产品标题的HTML标签是否变为<h4>;同时查看分类页,确认产品标题仍为<h2>即可。
内容的提问来源于stack exchange,提问作者omid mirzaei
相关产品推荐
相关产品推荐

