2017-08-31 29 views
-1

我使用Woocommerce訂閱會員資格,我想根據我的用戶的會員計劃申請一些運費折扣。例如,白銀會員可以享受所有運輸方式的-30%的折扣。 要檢查當前的會員計劃,我使用:Woocommerce - 通過鉤子更改運輸成本(functions.php)

$user_id = get_current_user_id();// Get current user ID 

if (wc_memberships_is_user_active_member($user_id, 'silver')) { 
    //echo 'This is a special message only for Silver members!'; 
} else { 
    //echo 'I\'m sorry, you are not a silver member. There\'s nothing here for you!'; 
} 

但我沒有找到任何方式改變與功能的運輸成本..

這可能嗎?由於

回答

1

我在這裏寫了一些樣本:http://reigelgallarde.me/programming/woocommerce-shipping-fee-changes-condition-met/

add_filter('woocommerce_package_rates', 'woocommerce_package_rates'); 
function woocommerce_package_rates($rates) { 
    $user_id = get_current_user_id(); 
    if (! wc_memberships_is_user_active_member($user_id, 'silver')) { return $rates; } 
    $discount_amount = 30; // 30% 

    foreach($rates as $key => $rate) { 
     $rates[$key]->cost = $rates[$key]->cost - ($rates[$key]->cost * ($discount_amount/100)); 
    } 

    return $rates; 
} 

上面的代碼會做你想做的所有運輸方式。

+0

您好!感謝你的回答。我有點困惑,你的代碼不工作..我進入你的文章,並嘗試基本的代碼誰設置所有送貨飼料到10,並且它不工作 – Efbi

+0

哦,我的壞,我必須清空我的購物車!謝謝你的訣竅。但我還有一個問題,如何改變稅收呢?因爲它現在不正確 – Efbi

+0

@Efbi,這將是另一個問題,你必須創建... – Reigel

相關問題