Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何更改';库存管理';基于WooCommerce中不同条件的单个产品页面上的可用性文本_Php_Wordpress_Woocommerce_Product_Hook Woocommerce - Fatal编程技术网

Php 如何更改';库存管理';基于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产品){ 全球$产品; //案

我正试图根据WooCommerce中的不同情况更改单个产品页面上的
库存管理
可用性文本

根据“在产品级别启用库存管理”是打开<代码>还是关闭<代码>有5种情况

  • 已打开,数量:0
  • 已打开,数量:2
  • 已打开,数量:3+
  • 已关闭,缺货
  • 关闭,库存中

  • 我正在使用

    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个)情况显示错误的结果:

  • 已打开,数量:0[正常工作]
  • 打开,数量:2[错误-显示案例5]
  • 打开,数量:3+[错误-显示案例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);