Woocommerce通过functions.php定制定价的多种产品

Woocommerce通过functions.php定制定价的多种产品,php,wordpress,plugins,woocommerce,Php,Wordpress,Plugins,Woocommerce,我使用以下代码从functions.php更改了price。即使在购物车页面中,它也可以为单个产品工作。我如何使用不同定价的不同产品的代码?可能吗 “团队”是一种分类法,“a团队”、“B团队”是术语。我将产品分配给“A团队”和“B团队” 例如: 对于“A团队”:产品id 14=200美元,15=600美元,17=800美元 对于“B团队”:产品id 14=100美元,15=300美元,17=400美元 原价:产品编号14=55美元,15=44美元,17=88美元 在分类法归档页面中: 如果“A-

我使用以下代码从functions.php更改了price。即使在购物车页面中,它也可以为单个产品工作。我如何使用不同定价的不同产品的代码?可能吗

“团队”是一种分类法,“a团队”、“B团队”是术语。我将产品分配给“A团队”和“B团队”

例如:

对于“A团队”:产品id 14=200美元,15=600美元,17=800美元

对于“B团队”:产品id 14=100美元,15=300美元,17=400美元

原价:产品编号14=55美元,15=44美元,17=88美元

在分类法归档页面中:

如果“A-Team”存档产品应显示

[产品编号14=$200,15=$600,17=$800;]

如果“B团队”存档产品应显示

[产品编号14=$100,15=$300,17=$400;]

我的代码:

function change_price($price, $productd){ 
   if($productd->id == 16): 
      return 160; 
   else: 
      return $price;
   endif;

add_filter('woocommerce_get_price','change_price', 10, 2);
add_filter('woocommerce_get_regular_price','change_price', 10, 2);
add_filter('woocommerce_get_sale_price','change_price', 10, 2);

提前谢谢。

我已将代码更改如下。这对我有用。希望这对其他有问题的人有所帮助

`add_filter( 'woocommerce_get_price', function ($price, $productd ) { 
       if($team_id) :
          return get_post_meta($productd->id, 'tax_'.$team_id , true); 
       else:
          return $price;
       endif;

  }, 10, 2 );`
即使“添加到购物车”功能也没有问题

谢谢,
萨提亚

谢谢萨提亚和海尔加特维京。我为用户创建了一个自定义字段,用户可以在其中设置货币(美元或欧元)。我为每个产品创建了两个自定义字段:“\u price\u usd”“\u price\u euro”,每个字段都包含产品的美元价格和以欧元表示的欧洲价格。使用匿名函数解决了几个问题。现在我只需要根据用户的货币输入正确的后缀或前缀。以下是我对您的代码的改编版本:

add_filter( 'woocommerce_get_price', function ($price, $productd ) { 
        $logged_in_user_id = get_current_user_id();
        $user_currency = get_user_meta( $logged_in_user_id, 'usd_euro', true );
        $new_price = strtolower("_price_".$user_currency);
        return get_post_meta($productd->id, $new_price, true); 

  }, 10, 2 );

可能的复制品不起作用。我改变了代码的方式,问题就解决了。甚至代码也在add_to_cart()中工作。现在,我在不同的团队中获得了不同的自定义定价(分类术语)。无论如何,感谢您的支持。请在至少一个帖子上发布您的答案,以便下一个有相同问题的人可以找到。您应该将其作为答案而不是评论发布。谢谢@helgatheviking。我是新来的。我不喜欢WordPress中的匿名函数。但我很好奇,
$team\u id
是如何定义的?根据您提供的代码,您应该始终得到返回的
$price
,未经更改,因为
$team\u id
永远不会为真。为了清楚理解,我提供了$team\u id。我使用会话动态地获取值。例如:在分类法归档页面中,我们有一个分类法的id。我已经提供了一个自定义字段,并使用“tax_”进行了保存。对于每个产品,请使用我的自定义定价。使用get\u post\u元函数,我在这里调用值。这对我有用。我只是向未来的访问者指出,这个代码(原样)只会返回未调整的价格。