【发布时间】:2020-10-01 08:51:12
【问题描述】:
客户创建订阅并通过 WooCommerce 告诉我他需要什么。使用用户元数据将需求存储在用户配置文件中。当他在前端的 WooCommerce 我的帐户区域更新此内容时,它会在 Wordpress 客户资料中正常更新。没有问题。
我遇到的问题是,当他通过前端 WooCommerce 帐户区域内的自定义字段更新要求时,订阅会一遍又一遍地更新他的旧要求。我如何让它在订阅续订时使用帐户区域内的最新自定义字段数据?
示例: https://i.stack.imgur.com/UEMpY.png
这就是我目前所拥有的。在下面的示例中,我尝试将用户元数据复制到订单元数据并在订阅续订时对其进行更新。由于某种原因,它没有更新。也许这是错误的方式。我的 PHP 非常有限。谁能给点建议?
// update subscription meta order
add_action('woocommerce_subscription_renewal_payment_complete','subscription_renew');
function subscription_renew( $order_id ) {
$order = wc_get_order( $order_id ); // get the order id
$user_id = $order->get_user_id(); // get the user id
if ( $order->get_total() > 1 ) { // not sure why this is here
$getsend = get_user_meta( $user_id, 'send' ); // grab the user meta field 'send'
$getcategories = get_user_meta( $user_id, 'categories' ); // grab the user meta field 'categories'
// now do the update
$order->update_meta_data( $user_id, 'send', $getsend ); // update user order meta field 'send'
$order->update_meta_data( $user_id, 'categories', $getcategories ); // update user order meta field 'categories'
$order_id = $order->save(); // save the order
return $order_id;
}
}
【问题讨论】:
-
@LoicTheAztec 标签
标签: php wordpress woocommerce hook-woocommerce woocommerce-subscriptions