
本文将介绍如何在 WooCommerce 单品页面中,利用 WooCommerce 内置的特色商品功能,显示一个“特色”标签。我们将使用 wc_get_featured_product_ids() 函数来判断当前商品是否为特色商品,并根据判断结果显示相应的标签。避免使用自定义字段,简化操作流程。
利用 WooCommerce 内置函数判断并显示特色商品标签
WooCommerce 已经内置了特色商品的功能,我们可以直接利用这个功能来显示商品是否为特色商品。以下代码展示了如何使用 wc_get_featured_product_ids() 函数来判断当前商品是否为特色商品,并显示相应的标签。
function action_woocommerce_before_single_product_summary() {
global $product;
// 检查是否为 WooCommerce 商品
if ( is_a( $product, 'WC_Product' ) ) {
// 获取商品ID
$product_id = $product->get_id();
// 获取特色商品ID数组
$featured_product_ids = wc_get_featured_product_ids();
// 检查商品ID是否存在于特色商品ID数组中
if ( in_array( $product_id, $featured_product_ids ) ) {
echo 'Featured';
} else {
// 可以选择显示其他内容,例如:
// echo 'NOT featured';
}
}
}
add_action( 'woocommerce_before_single_product_summary', 'action_woocommerce_before_single_product_summary', 1 );代码解释:
- action_woocommerce_before_single_product_summary() 函数: 这个函数将在单品页面的摘要信息之前执行,woocommerce_before_single_product_summary 是一个 WooCommerce 提供的 action hook。
- global $product;: 获取全局的 $product 对象,该对象包含了当前商品的信息。
- is_a( $product, 'WC_Product' ): 确保 $product 是一个 WC_Product 对象,即当前页面确实是 WooCommerce 的商品页面。
- $product_id = $product->get_id();: 获取当前商品的 ID。
- $featured_product_ids = wc_get_featured_product_ids();: 使用 wc_get_featured_product_ids() 函数获取所有特色商品的 ID,返回一个数组。
- in_array( $product_id, $featured_product_ids ): 使用 in_array() 函数检查当前商品的 ID 是否存在于特色商品 ID 数组中。
- echo 'Featured';: 如果当前商品是特色商品,则输出一个包含 "Featured" 文本的 标签。你可以自定义标签的样式,例如修改 property-contract-badge 类。
- add_action(...): 将 action_woocommerce_before_single_product_summary() 函数添加到 woocommerce_before_single_product_summary action hook 中,并设置优先级为 1。
使用方法:
将以上代码添加到你的主题的 functions.php 文件中(推荐使用子主题)。
HTShop网上购物系统由恒天网络科技有限公司根据国际先进技术和国内商务特点自主版权开发的一款具有强大功能的B2C电子商务网上购物平台。HTShop以国际上通用流行的B/S(浏览器/服务器)模式进行设计,采用微软公司的ASP.NET(C#)技术构建而成。 2007-11-10 HTShop CS 通用标准版 v1.1.11.10 更新内容自由更换模版功能开放 修改了购买多款商品,会员中心订单只显示
注意事项:
- 确保你的主题或插件没有移除或修改 woocommerce_before_single_product_summary action hook。
- 你可以根据需要自定义 标签的样式,例如修改 CSS 类名。
- 如果不需要显示 "NOT featured" 提示,可以删除 else 语句块。
总结:
使用 wc_get_featured_product_ids() 函数可以方便地判断商品是否为特色商品,并根据判断结果显示相应的标签。这种方法避免了使用自定义字段,简化了操作流程,并且直接利用了 WooCommerce 内置的功能,更加高效和可靠。记住将代码添加到子主题的 functions.php 文件中,并根据你的需求自定义标签的样式。









