Woocommerce多种产品,自定义价格来自functions.php

时间:2014-10-31 06:06:07

标签: php wordpress plugins woocommerce

我使用以下代码更改functions.php的价格。它甚至在购物车页面也适用于单一产品。我如何使用不同价格的不同产品的代码?那可能吗?

'队'是一个分类学和A-team' B组'是条款。我正在为A-team'分配产品。以及' B-team'。

例如:

  

对于A-Team' :product_id 14 = 200美元,15 = 600美元,17 = 800美元;

     

对于B-Team' :product_id 14 = 100美元,15 = 300美元,17 = 400美元;

     

原价:product_id 14 = 55美元,15 = 44美元,17 = 88美元;

     

在分类档案页面中

     

如果' A-Team'档案产品应该显示

     

[product_id 14 = $ 200,15 = $ 600,17 = $ 800;]

     

如果' B-Team'档案产品应该显示

     

[product_id 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);

提前致谢。

2 个答案:

答案 0 :(得分:0)

我已按如下方式更改了我的代码。它对我有用。希望这对其他一些有问题的人有所帮助。

`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 );`

即使在“添加到购物车”功能也没有问题。

谢谢, 萨蒂亚

答案 1 :(得分:0)

谢谢Satya,并且帮助我们。我为用户设置了自定义字段(美元或欧元)。我为每个产品创建了两个自定义字段:" _price_usd" " _price_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 );