如何在WooCommerce中基于产品分类ID控制短代码的显示

如何在woocommerce中基于产品分类id控制短代码的显示

本文详细介绍了如何在WooCommerce单品页面中,利用WordPress和WooCommerce的条件逻辑,精确控制Elementor模板短代码的显示。通过使用has_term()函数,开发者可以根据产品的特定分类ID或别名,决定是否执行短代码,从而实现按需展示,避免不必要的代码加载和页面内容冗余。

1. 背景与挑战

在WooCommerce开发中,我们经常需要在单品页面(Single Product Page)的特定位置添加自定义内容,例如使用Elementor模板生成的短代码来展示尺寸指南、额外信息或促销内容。通常,我们会通过add_action钩子将短代码添加到页面的某个位置,例如:

add_action( 'woocommerce_single_product_summary', 'sizeguidemen', 20 );function sizeguidemen() {    echo do_shortcode('[elementor-template id="66083"]');}

这段代码会将ID为66083的Elementor模板短代码无差别地显示在所有单品页面的产品摘要下方(优先级为20)。然而,实际需求往往更为复杂:我们可能只希望在特定产品分类下的商品页面显示这个短代码,而在其他分类下则不显示。这就需要引入条件逻辑来精确控制短代码的执行。

2. 解决方案:利用WooCommerce条件逻辑

WordPress和WooCommerce提供了强大的条件标签和函数,允许开发者根据当前页面、产品属性、用户状态等多种条件来执行不同的代码块。对于本场景,最合适的函数是has_term()。

has_term()函数用于检查当前文章(在WooCommerce中通常指产品)是否属于指定的分类法(taxonomy)中的某个或某些术语(term,即分类、标签等)。

2.1 has_term() 函数详解

has_term()函数的典型用法如下:

has_term( $terms, $taxonomy, $post );

$terms:必需。可以是单个分类ID(整数)、分类别名(字符串),或包含多个分类ID/别名的数组。$taxonomy:必需。分类法的名称,对于产品分类,通常是’product_cat’。$post:可选。要检查的文章对象或ID。如果未提供,则默认为当前文章。在woocommerce_single_product_summary这样的钩子内部,通常可以省略此参数,因为它会自动检测当前产品。

2.2 示例代码:按指定分类ID显示短代码

要实现“仅在特定产品分类下显示短代码”的需求,我们可以将do_shortcode调用包裹在if ( has_term(…) )条件语句中。

假设我们希望短代码仅在分类ID为123的产品页面显示:

add_action( 'woocommerce_single_product_summary', 'sizeguidemen', 20 );function sizeguidemen() {    // 检查当前产品是否属于分类ID为 123 的产品分类    if ( has_term( 123, 'product_cat' ) ) {        echo do_shortcode('[elementor-template id="66083"]');    }}

这段代码的逻辑是:如果当前产品属于ID为123的产品分类,则执行do_shortcode显示Elementor模板;否则,不执行任何操作,短代码也不会显示。这有效地实现了“排除其他分类”的效果。

2.3 使用分类别名或多个分类

has_term()函数还支持使用分类别名(slug)和数组,这使得条件判断更加灵活。

使用分类别名:

if ( has_term( 'tables', 'product_cat' ) ) { // 'tables' 是分类的别名    echo do_shortcode('[elementor-template id="66083"]');}

使用多个分类ID或别名(数组):如果希望短代码在多个特定分类下显示,可以将分类ID或别名放入数组中。

// 在分类ID为 123、456、789 的产品页面显示if ( has_term( array( 123, 456, 789 ), 'product_cat' ) ) {    echo do_shortcode('[elementor-template id="66083"]');}// 在别名为 'tables' 或 'chairs' 的产品页面显示if ( has_term( array( 'tables', 'chairs' ), 'product_cat' ) ) {    echo do_shortcode('[elementor-template id="66083"]');}

3. 注意事项

3.1 代码放置位置

建议将上述代码放置在以下位置:

主题的 functions.php 文件: 这是最常见的做法,但请注意,如果更新主题,这些修改可能会被覆盖。推荐使用子主题的 functions.php 文件。自定义插件: 对于更专业的开发或需要将功能在多个网站间复用,创建一个小型自定义插件是更好的选择。

3.2 逻辑反转:排除特定分类

原始问题是“如何排除/禁用短代码”,而上述示例是“如何包含/启用短代码”。如果您的需求是“在所有分类下都显示,除了某个或某些特定分类”,可以使用逻辑非运算符 !。

例如,要排除分类ID为 123 的产品:

add_action( 'woocommerce_single_product_summary', 'sizeguidemen', 20 );function sizeguidemen() {    // 如果当前产品不属于分类ID为 123 的产品分类,则显示短代码    if ( ! has_term( 123, 'product_cat' ) ) {        echo do_shortcode('[elementor-template id="66083"]');    }}

同样,也可以应用于数组:

// 排除分类ID为 123 和 456 的产品if ( ! has_term( array( 123, 456 ), 'product_cat' ) ) {    echo do_shortcode('[elementor-template id="66083"]');}

3.3 如何获取产品分类ID或别名

获取ID: 在WordPress后台,导航到“产品” -> “分类”。将鼠标悬停在您想要获取ID的分类名称上,浏览器左下角会显示链接,其中包含 tag_ID= 参数,其值就是分类ID。或者点击进入分类编辑页面,URL中的 tag_ID= 参数也是分类ID。获取别名: 在分类编辑页面,别名(Slug)字段会显示。

3.4 性能考量

has_term() 函数的执行效率很高,因为它利用了WordPress的查询优化。在单个产品页面上使用它通常不会引起明显的性能问题。

3.5 充分测试

在将代码部署到生产环境之前,务必在开发或测试环境中进行充分测试,确保短代码在预期分类下显示,在非预期分类下隐藏,并且没有引入其他兼容性问题。

4. 总结

通过巧妙地运用has_term()函数,我们可以在WooCommerce单品页面上实现对短代码的精细化控制。无论是希望短代码仅在特定分类下显示,还是希望在除特定分类外的所有分类下显示,has_term()都提供了简洁而强大的解决方案。掌握这种条件逻辑的应用,将大大提升WooCommerce自定义开发的灵活性和效率。

以上就是如何在WooCommerce中基于产品分类ID控制短代码的显示的详细内容,更多请关注php中文网其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/65704.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月12日 02:07:30
下一篇 2025年11月12日 02:42:07

相关推荐

  • 欧易OKX交易平台官网注册入口 2026欧易官方手机App下载地址

    作为全球顶级的数字资产服务平台,欧易(okx)为用户提供了安全、稳定的交易环境。寻找一个长期有效且官方认证的注册入口至关重要。本指南旨在为您提供一个面向未来的欧易okx官方渠道指引,确保您在当下乃至未来几年,都能通过最安全的方式访问官网并下载官方正版手机应用。 欧易OKX官网注册:开启您的数字资产之…

    2025年12月12日
    000
  • 欧易OKX交易所App下载教程 欧易手机版客户端v6.5.0安装指南

    欧易OKX是全球领先的数字资产交易平台,提供BTC、ETH等交易服务,具备银行级安全防护;本文详解v6.5.0版App下载安装、账户注册、KYC身份认证及买卖交易全流程。 欧易OKX是一款全球领先的数字资产交易平台,为用户提供包括比特币(BTC)、以太坊(ETH)在内的多种主流数字资产的交易服务。其…

    2025年12月12日
    000
  • 币安客户端哪里下载安装?币安官方电脑版 Windows/Mac 安装指南

    币安作为全球领先的交易平台之一,其客户端的下载与安装成为了许多新用户和资深交易者关注的焦点。无论是出于安全性、便捷性还是功能性的考虑,选择官方渠道下载安装币安电脑版客户端都至关重要。本文将为您提供详细的windows和mac版本安装指南,帮助您轻松获取并配置币安客户端,从而更好地管理您的数字资产,享…

    2025年12月12日
    000
  • 如何下载欧易官方APP?欧易官方应用下载与注册的新手操作指南

    欧易okx是一个面向全球用户的综合性数字资产服务平台,提供包括btc、eth在内的多种主流数字资产的相关服务。平台致力于通过多重技术防护措施保障用户资产安全,并凭借其全面的功能设计,满足不同用户的多样化需求。本指南将为您提供欧易(okx)的官方网站入口,并详细介绍最新版本app的下载与账户设置全过程…

    2025年12月12日 好文分享
    000
  • 币an交易平台全球站官网 币安官方最新版v3.8.3 APP下载注册

    币安(binance)作为全球顶级的数字资产交易平台,其全球站官网是用户进行安全交易和管理资产的核心入口。本篇指南将聚焦于如何安全地访问币安官网,并指导您完成最新版官方app的下载与账户注册全流程,为您的数字资产之旅奠定一个坚实且安全的基础。 币安(Binance)官方认证入口: 币安(Binanc…

    2025年12月12日
    000
  • 欧易最新官网下载入口 2026欧易官方手机APP下载通道

    欧易 okx(原 okex) 是一家全球领先的数字资产交易平台,提供现货、合约、理财、web3 等多项服务。本文将介绍 2025-2026 年生效的欧易最新官网下载入口 以及 官方手机 app 的下载通道,方便你安全获取并使用欧易服务。 欧易官网最新地址 你可以通过以下地址访问欧易官网首页:。  在…

    2025年12月12日 好文分享
    000
  • 2025年币安交易所密码登录错误怎么办?别慌!快速排查与安全解决指南

    %ignore_a_1%密码登录错误时,应先核对输入信息(大小写、空格、输入法),再清理浏览器缓存与Cookies,接着通过安全验证重置密码,最后检查网络和设备状态。 当遇到币安密码登录错误时,可尝试核对输入信息、清理浏览器数据、通过安全验证重设密码或检查网络设备。这些方法能快速排查并解决大部分登录…

    2025年12月12日
    000
  • 币安APP官方下载地址更新 最新币安APP安装与注册流程

    币安app是全球领先的数字货币交易平台,致力于为用户提供安全、便捷的区块链资产交易服务。本文将为您提供官方币安app的下载链接,您可以点击文章中提供的链接,轻松下载并安装币安app,开始您的数字资产交易之旅。 币安APP官方注册入口: 一、币安APP下载步骤 1、在浏览器中打开币安下载链接:    …

    2025年12月12日 好文分享
    000
  • 欧易OKX交易所App官方下载 2026欧易最新安卓版下载地址

    欧易 okx(okx,原 okex) 是一家全球范围内使用广泛的加密货币交易平台,支持现货、合约与理财等多项服务。本文将为你展示如何通过官方渠道获取最新版安卓 app,并简要说明下载安装时需要注意的事项。 欧易(OKX)官方认证入口: 欧易官方 App 下载入口 建议访问欧易官网的正式下载页面:,在…

    2025年12月12日
    000
  • 币an交易所官方网址入口 币安最新版v3.7.2 APP安卓下载

    作为全球广受欢迎的数字资产服务平台,确保您访问的是%ignore_a_1%(binance)的官方网址并下载其最新版官方app,是保障您账户与资产安全的首要前提。本篇指南将为您提供一个清晰、安全的路径,直达币安官方入口,并详细介绍如何将最新的官方app安装到您的设备上。 如何安全访问币安官方网址 币…

    2025年12月12日
    000
  • 什么是“聪明钱”?如何追踪巨鲸地址,提前布局?

    “聪明钱”指加密市场中资本雄厚、经验丰富的机构或投资者,其行为是市场趋势先行指标;可通过区块链浏览器、链上平台、社交机器人及VC/项目方钱苞追踪巨鲸地址,并结合交易类型、持续吸筹、基本面分析和风控策略进行布局。 欧易OKX: Binance币安: 火币Huobi: Gateio芝麻开门: 所谓“聪明…

    2025年12月12日
    000
  • 斐波那契回调线终极指南:精准找到买卖点的秘诀

    斐波那契回调线是基于黄金分割比率预测价格支撑/阻力位的技术工具;需先识别趋势,上升趋势从低点拉至高点、下降趋势反之;关键位0.382、0.5、0.618(黄金分割位)用于判断反转时机,结合MA、趋势线及K线形态可提升胜率。 欧易OKX: Binance币安: 火币Huobi: Gateio芝麻开门:…

    2025年12月12日
    000
  • 欧易OKX官网注册入口 欧易交易所2025最新官方网址

    欧易OKX官网注册入口 欧易交易所2025最新官方网址 欧易okx作为全球领先的数字资产交易平台,为广大用户提供安全、稳定、可靠的数字资产交易服务。它支持数百种数字货币的交易,并提供丰富的衍生品交易选项,满足从新手到专业交易者的多样化需求。本文将为您提供欧易okx官方app的最新下载链接与详细的图文…

    2025年12月12日
    000
  • 什么是PIEVERSE币?值得购买吗?新手指南

    PIEVERSE是否值得购买需综合评估其平台功能、项目基本面、市场流动性及风险因素。它作为数字生态的功能性代币,用于交易媒介、治理投票和质押激励;需考察白皮书、团队背景、代币经济模型;关注上线平台、交易量与持币分布;并警惕市场波动、执行不力与合约安全等风险。 pieverse是一种特定数字生态系统中…

    2025年12月12日
    000
  • 隐私计算赛道:Secret Network vs. Oasis Network,谁能解决币圈中的隐私悖论

    Secret Network与Oasis Network分别以“默认隐私”和模块化架构解币圈隐私悖论:前者提供端到端加密的统一隐私环境,后者通过可选ParaTime实现灵活、可扩展的隐私计算。 欧易OKX: Binance币安: 火币Huobi: Gateio芝麻开门: 区块链的透明性与数据隐私需求…

    2025年12月12日
    000
  • 币安官网正确登录入口 币安Binance官方网站地址

    币安App下载与安装、账户注册、KYC认证及买卖交易全流程指南:1.点击官方链接下载APK;2.允许安装并完成设置;3.用邮箱/手机号注册并设强密码;4.提交身份信息与证件照片并通过人脸识别;5.进入交易界面选择交易对和订单类型下单。 币安(Binance)是全球领先的数字资产交易平台之一,为用户提…

    2025年12月12日 好文分享
    000
  • 才刚卖币套现!罗伯特清崎又喊:世纪大崩盘来袭、点名4大保命资产

    畅销理财书籍《富爸爸,穷爸爸》的作者罗伯特·清崎(robert kiyosaki)再次发出强烈警示,宣称他多年来一直预言的“史上最大崩盘”正在逐步成形。尽管他不久前才在高位卖出部分比特币实现盈利,但他仍坚定呼吁投资者应把握时机,积极囤入具备抗风险能力的优质资产,以应对即将到来的全球经济巨震。 Bin…

    2025年12月12日
    000
  • 去中心化预言机网络(DON)是什么?2025年最值得关注的五大区块链预言机有哪些?

    区块链预言机,尤其是去中心化的预言机,对于区块链和web3生态系统的运行和扩展至关重要。它们弥合了链上世界和链下世界之间的鸿沟,使区块链技术能够产生现实世界的影响和效用。 Binance币安 欧易OKX ️ Huobi火币️ 本质上,预言机使区块链上的智能合约能够与外部数据和系统进行交互,这至关重要…

    2025年12月12日
    000
  • 稳定币USDT是什么?关于USDT你必须知道的9件事

    usdt(tether)是一种与美元严格锚定的稳定型加密货币,始终保持1:1的兑换比例。它为数字资产交易者和价值持有者提供了高度稳定的结算与储值工具,尤其在市场剧烈波动时展现出显著优势。tether公司官方宣称,每一枚流通中的usdt均由等额的储备资产(主要为美元现金及短期美国国债等高流动性资产)作…

    2025年12月12日
    000
  • Irys(IRYS)币是什么?未来潜力如何?IRYS代币经济,空投领取与价格预测

    它是一条layer-1 数据链,旨在通过结合去中心化存储、数据可用性和 evm 兼容的执行环境,使链上数据可编程。 这使得智能合约能够高速读取和处理存储的数据,从而在人工智能、授权许可和可验证数据应用领域开辟新的用例。借助这种模式,该平台将自身定位为一个网络,在这个网络中,数据不再是被动的有效载荷,…

    2025年12月12日 好文分享
    000

发表回复

登录后才能评论
关注微信