php - 仅当 Woocommerce 中有产品时才显示产品属性
问题描述
我已经为交货时间设置了 Woocommerce 属性,并将其显示在单个产品页面上:
//Single Product
function product_attribute_delivery(){
global $product;
$taxonomy = 'pa_delivery';
$value = $product->get_attribute( $taxonomy );
if ( $value ) {
$label = get_taxonomy( $taxonomy )->labels->singular_name;
echo '<p>' . $label . ': ' . $value . '</p>';
}
}
add_action( 'woocommerce_single_product_summary', 'product_attribute_delivery', 25 );
是否可以仅在产品有库存时显示它?
解决方案
可以使用WC_Product
is_in_stock()
方法:
add_action( 'woocommerce_single_product_summary', 'product_attribute_delivery', 25 );
function product_attribute_delivery(){
global $product;
$taxonomy = 'pa_delivery';
$value = $product->get_attribute( $taxonomy );
if ( $value && $product->is_in_stock() ) {
$label = get_taxonomy( $taxonomy )->labels->singular_name;
echo '<p>' . $label . ': ' . $value . '</p>';
}
}
代码位于您的活动子主题(或活动主题)的 function.php 文件中。测试和工作
推荐阅读
- android - 如果有安全问题,它会被 google play console 成功发布吗?
- swift - 无法将“ViewController”类型的值分配给“WKNavigationDelegate”类型?
- java - 线程“主”java.lang.NullPointerException 中的异常以及如何修复它?
- git - 从发布管道推送到本地 Azure DevOps Git
- c# - CS1503 参数 1:无法从“Poc.Core.Player”转换为“Poc.Interfaces.IScheduleable”
- java - 如何在 JAVA 中将字节数组从 BGR24 转换为 JPG?
- javascript - 在javascript中多次执行自定义打字功能时出现问题
- c++ - C++有没有办法丢弃多行std::cin输入
- macos - MAC 上 .net 核心应用程序的核心签名 + 强化运行时
- python-3.x - 将 kv 文件中的标签文本绑定到 python 文件中的方法