Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.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_Tax - Fatal编程技术网

Php Woocommerce:根据价格、成本和税率为每个产品设置不同的自定义值

Php Woocommerce:根据价格、成本和税率为每个产品设置不同的自定义值,php,wordpress,woocommerce,product,tax,Php,Wordpress,Woocommerce,Product,Tax,我试图为Woocommerce中的每种产品设置一个自定义税值,其计算如下: (price - cost) * (0,19/1,19) 因为Woocommerce不提供产品成本字段,所以我安装了一个扩展,允许将此信息添加到每个产品中 然后我继续查找计算税收的函数(calc_tax($price,$rates,$price_includes_tax=false,$deprecated=false),并找到了钩子“woocommerce\u calc_tax”,我想我必须钩住它才能更改计算的税收:

我试图为Woocommerce中的每种产品设置一个自定义税值,其计算如下:

(price - cost) * (0,19/1,19)
因为Woocommerce不提供产品成本字段,所以我安装了一个扩展,允许将此信息添加到每个产品中

然后我继续查找计算税收的函数
(calc_tax($price,$rates,$price_includes_tax=false,$deprecated=false)
,并找到了钩子“woocommerce\u calc_tax”,我想我必须钩住它才能更改计算的税收:

apply_filters( 
  'woocommerce_calc_tax',  
  $taxes,  
  $price,  
  $rates,  
  $price_includes_tax,  
  $suppress_rounding 
);  
在文件
[includes/class wc tax.php][2]

但是由于钩子只提供了五个参数,其中没有一个代表产品的成本。我不知道如何将产品的成本传递给钩子中的函数

因此,我的问题是如何:

  • 传递一个未在上面的钩子中声明的变量
  • (如果1.起作用)如何将产品成本(从商品成本插件)传递到此挂钩,以用于上述自定义税收计算

  • 或者有其他方法可以做到这一点吗?

    抱歉,但我认为您将无法在
    WC\u Tax
    类中的任何钩子中获得好的价格成本,因为无法在这些钩子中获得post Id或产品Id…仅为获取信息,您可以使用
    $cog=get\u post\u meta获取产品Id的好的成本($product_id、'u wc_cog_cost',true)
    …谢谢,虽然听起来不太好…顺便问一下,你知道有没有其他方法可以实现自定义税计算吗?再次谢谢,这对我来说似乎很复杂,所以我暂时没有什么好主意。非常抱歉。也许你可以联系商品成本插件支持部门,但我很确定他们是我不会真的帮你,他们会告诉你联系一个专业的开发人员…总有办法。不太熟悉wordpress tho。对problem@user3647971是的,总有一种方法,我同意,但这是一个真正复杂的发展,所以对于StackOverFlow来说,有些东西太宽泛而不是免费的……如果你对这个问题感兴趣的话,你可以投它一票。