Php 如何更改';库存管理';基于WooCommerce中不同条件的单个产品页面上的可用性文本
我正试图根据WooCommerce中的不同情况更改单个产品页面上的Php 如何更改';库存管理';基于WooCommerce中不同条件的单个产品页面上的可用性文本,php,wordpress,woocommerce,product,hook-woocommerce,Php,Wordpress,Woocommerce,Product,Hook Woocommerce,我正试图根据WooCommerce中的不同情况更改单个产品页面上的库存管理可用性文本 根据“在产品级别启用库存管理”是打开还是关闭有5种情况 已打开,数量:0 已打开,数量:2 已打开,数量:3+ 已关闭,缺货 关闭,库存中 我正在使用 add_filter('woocommerce_get_availability','wcs_custom_get_availability',1,2); 功能wcs\u自定义\u获取\u可用性($availability,$\u产品){ 全球$产品; //案
库存管理
可用性文本
根据“在产品级别启用库存管理”是打开<代码>还是关闭<代码>有5种情况
我正在使用
add_filter('woocommerce_get_availability','wcs_custom_get_availability',1,2);
功能wcs\u自定义\u获取\u可用性($availability,$\u产品){
全球$产品;
//案例3
如果($\u产品->库存中(){
$availability['availability']=_uuu('3.打开,数量:3+','woocommerce');
}
//案例2
如果($产品->库存中()&&$产品->进货数量()库存中()&&$产品->进货数量()库存中()){
$availability['availability']=_uuu('4.关闭,缺货/1.打开,数量:0','woocommerce');
}
返回$availability;
}
但如何使其适用于可变产品 对于简单的产品,它可以完美地工作,但对于可变产品,2(5个)情况显示错误的结果:
如果
$product->get_stock_quantity()是_in_stock(),
将始终为false,因为库存编号低于0或等于0,因此逻辑中存在错误
也不必使用和混合全局$product
和$\u product
。因为$\u product
已包含产品对象
可能会派上用场$product->management_stock()
//库存文本中的更改
函数筛选器\u商业\u获取\u可用性($availability,$product){
//管理库存被激活
如果($product->管理库存()){
//库存量
$stock_quantity=$product->get_stock_quantity();
//比较
if($库存数量0&$库存数量3){
$availability['availability']=_uuu('3.打开,数量:3+','woocommerce');
}
}否则{
//库存
如果($product->is\ U in\ U stock()){
$availability['availability']=_uuu4('4.关闭,库存,'woocommerce');
}否则{
$availability['availability']=\uuuuu5('5.关闭,缺货,'woocommerce');
}
}
返回$availability;
}
添加过滤器('woocommerce\u get\u availability','filter\u woocommerce\u get\u availability',10,2);