2013-07-31 49 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);