我基本上是在WordPress中为woocommerce创建一个基于点的系统。这基于手动添加的usermeta。 (想法是,人们回收产品以获得积分,然后使用积分在分享用户数据的单独的woocommerce上购买产品。)
我创建了一个结帐,可以在没有足够积分的情况下禁用,或者增加用户购买产品后剩余的金额(在此阶段可能稍微有点可观但除此之外)。
问题我正在购买后更新用户元。即每个用户的用户表中都有一个名为“点数”的框,只有管理员才能看到 - 这需要使用新的公式(当前点数 - 订单总数)进行更新。下面我提出的代码不确定如何实现这个或者这实际上是否有效..我在'thankyou页面'中种植了这个,这是在订单被“放置”之后发生的
<?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 :(得分:1)
您拥有的代码无法获取用户ID。
首先,您需要像当前用户一样查询当前用户:
$current_user = wp_get_current_user();
但你缺少的是:
echo $current_user->ID;
所以你的代码看起来像这样:
$current_user = wp_get_current_user();
$pointsafterorder = $current_user->points - $woocommerce->cart->total;
update_user_meta( $current_user->ID, $current_user->points, $pointsafterorder );