2014-10-30 70 views
0

我想從functions.php獲得定製定價。對於woocommerce商店頁面,我希望輸出如下。 我創建了一個自定義taxonamy(團隊),我正在從後端應用自定義價格。需要自定義爲woocommerce商店頁面產品從functions.php定價

如:

1. Taxonomy : Team1 
    a) Product Id : 17, Price =222; //Original price $45 
    b) Product Id : 18, Price = 444; // Original price $55 

2. Taxonomy : Team2 
    a) Product Id : 17, Price =999; //Original price $45 
    b) Product Id : 18, Price = 888; // Original price $55 

我怎樣才能得到我用下面的代碼輸出的例子嗎?如果有任何更改或修改,請讓我知道。

我使用下面的代碼:

add_filter('woocommerce_get_regular_price', function ($price, $productd) { 
    foreach($_SESSION['my_array'] as $id => $price1) : 

      $regular_price = get_post_meta(get_the_ID(), '_regular_price'); 
      $price = $regular_price[0]; 


     if(get_the_ID() == $id) : 
     return $price1; 
     else : 

     return $price; 

     endif; 

    endforeach; 

}, 10, 2); 

感謝, 薩蒂亞

+1

你已經告訴我們你想要什麼,你在做什麼,但不是你有什麼問題。這裏真正的問題是什麼? – 2014-10-30 13:20:14

+0

我沒有得到使用上述代碼的示例輸出。如果我的代碼有任何更改。請告訴我。 – 2014-10-30 14:28:09

+0

是的,我也不明白這個問題。您想要根據分類標準更改價格嗎? – helgatheviking 2014-10-30 16:19:03

回答

0

一旦我糾正你的分析錯誤,從您的評論作品的代碼。

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); 
function change_price($price, $productd){ 
    if($productd->id == 16): 
     $price = 160; 
    endif; 

    return $price; 
} 

修改,要檢查產品中的某些分類來看,我們就用has_term($term, $taxonomy, $post)。您將需要調整期限和稅款slu。。

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); 
function change_price($price, $productd){ 
    if(has_term('team1', 'teams', $productd->id)): 
     $price = 160; 
    endif; 

    return $price; 
} 

更新

讀你的新問題,好像你要對這個錯誤的(我仍然可以被誤解,雖然你)。如果產品1位於均爲第1組和第2組,您可以使用is_taxonomy("team-A")更改分類頁面上的價格,但所有add_to_cart()功能都不知道使用正確的價格,因爲無法辨別應該使用哪個價格根據術語使用(因爲產品是兩種用語)。

如果您想向不同的用戶組顯示不同的價格,那麼您需要一個自定義用戶功能,並使用該功能來檢查當前用戶何時具有該上限或不是.ex:current_user_can('team-b')

+0

感謝您的回覆。該代碼僅爲商店頁面提供上次產品更新。在這裏,我爲產品ID的14,16,17等分配了定價。對於產品14 = 200美元,16 = 800美元,17美元= 700美元等。但是,您的修改只給出最後一個產品價格的變化。 – 2014-10-31 11:31:32

+0

我用ur代碼作爲'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);如果(has_term('A-Team','team',$ productd-> id)): $ wst_team_price = get_post_meta($ productd-> id,'tax_32' ,真); $ price = $ wst_team_price; endif; return $ price; }' – 2014-10-31 11:35:24

+0

@sphanley我可能在這裏更清楚[點擊這裏](http://stackoverflow.com/questions/26668450/woocommerce-multiple-products-with-custom-pricing-from-functions-php) – 2014-10-31 12:09:56

相關問題