如何按商品分类在WooCommerce商品页面添加自定义链接?
按商品分类添加自定义链接到WooCommerce商品页
没问题!我帮你把代码改成按商品分类显示对应链接的版本,这样不同分类的商品就能展示专属的链接内容了。
下面是修改后的完整代码,我会标注关键部分的作用:
add_action( 'woocommerce_before_add_to_cart_button', 'content_before_addtocart_button_by_category' ); function content_before_addtocart_button_by_category() { // 获取当前商品对象 global $product; if ( ! $product ) return; // 获取当前商品的所有分类(取第一个分类作为判断依据,你也可以按需调整) $product_categories = get_the_terms( $product->get_id(), 'product_cat' ); if ( empty( $product_categories ) ) return; // 取第一个分类的slug(分类别名,在后台分类编辑页能看到) $category_slug = $product_categories[0]->slug; // 根据不同分类slug输出对应的链接内容 switch ( $category_slug ) { case 't-shirts': // 替换成你的目标分类slug echo '<div class="content-section">查看T恤尺码指南 <a href="https://your-site.com/t-shirt-size-guide" target="_blank">点击这里</a></div>'; break; case 'shoes': // 替换成你的目标分类slug echo '<div class="content-section">查看鞋码对照表 <a href="https://your-site.com/shoe-size-chart" target="_blank">点击这里</a></div>'; break; case 'accessories': // 替换成你的目标分类slug echo '<div class="content-section">查看配件保养说明 <a href="https://your-site.com/accessories-care" target="_blank">点击这里</a></div>'; break; // 可以继续添加更多分类的判断逻辑 default: // 商品不属于上述分类时的默认内容,不需要就注释/删掉 // echo '<div class="content-section">默认自定义内容 <a href="https://your-site.com/default-link">点击这里</a></div>'; break; } }
关键使用说明:
- 分类Slug替换:把代码里的
t-shirts、shoes替换成你自己商品分类的slug,在WooCommerce后台「商品分类」编辑页就能找到每个分类的slug。 - 多分类适配:如果商品属于多个分类,当前代码取第一个分类作为判断依据。要是想优先匹配特定分类,可以改成循环检查每个分类是否在目标列表里。
- 样式自定义:
content-section类名可以保留,方便你用CSS调整这个区块的外观。 - 默认内容设置:
default分支可以设置无匹配分类时的显示内容,不需要就直接注释掉即可。
把这段代码添加到主题的functions.php文件,或者用自定义代码插件(比如Code Snippets)导入就能生效啦!
内容的提问来源于stack exchange,提问作者danish
相关产品推荐
相关产品推荐

