2013-07-31 85 views
1

我基本上是在WordPress中爲woocommerce創建一個基於積分的系統。這是基於手動添加的usermeta。 (這個想法是,人們回收產品獲得積分,然後使用積分購買分享用戶數據的單獨的woocommerce產品)。Wordpress通過woocommerce結帳過程更新用戶meta

我已經創建了一個結帳功能,如果分數不夠或者加起來用戶購買產品後剩下的金額(可能在這個階段稍微有些扭曲,但除此之外)。

我遇到的問題是在購買後更新用戶元。即每個用戶在其用戶表中都有一個名爲'Points'的框,只有管理員才能看到 - 這需要使用新的公式(當前點數 - 訂單總數)進行更新。下面有我想出了不知道如何實現這個或這是否會實際工作的代碼..我種這在「三江源頁」發生後,訂單被「放置」

 <?php 

     $user_id = wp_get_current_user(); 
     $pointsafterorder = $current_user->points - $woocommerce->cart->total; 

     // will return false if the previous value is the same as $new_value 
     update_user_meta($user_id, $current_user->points, $pointsafterorder); 

     ?> 

如果任何人有一個修復,問題或任何想法,請讓我知道。

感謝 豐富

+0

你應該首先嚐試自己的解決方案,如果不行的話,詢問你正在使用的具體問題。 類型的問題是這個代碼好應該去http://codereview.stackexchange.com/ –

+0

嗨,我已經試過這個解決方案(問題上的代碼),它不工作 - 對不起,如果我不夠具體的指出。 –

回答

1

的代碼你心不是獲得用戶ID。

首先,你需要查詢當前用戶喜歡你擁有的一切:

$current_user = wp_get_current_user(); 

但你缺少的位是:

echo $current_user->ID; 

所以,你的代碼adpated看起來就像這樣:

$current_user = wp_get_current_user(); 
$pointsafterorder = $current_user->points - $woocommerce->cart->total; 
update_user_meta($current_user->ID, $current_user->points, $pointsafterorder);