我已经阅读了有关此主题的各种问题,但是,在完成woocommerce订单后,我正在努力更新用户元数据。
我已在if
声明中检查了product_ids并加倍(三次),并且我已经完成了多项测试付款,并且还切换了订单状态以查看用户元是否更新。我作为最后的手段来到这里。
我甚至在消除过程中手动输入$user_id
和product_id
函数,但我无法将其转到update_user_meta
非常感谢任何帮助我朝正确方向前进的提示。
/**
* Update usermeta when the order processed woocommerce
*/
add_action('woocommerce_order_status_completed', 'open_assessment_after_payment');
function open_assessment_after_payment($order_id) {
$order = new WC_Order( $order_id );
$items = $order->get_items();
foreach ( $items as $item ) {
$product_id = $item['product_id'];
}
$current_user = wp_get_current_user();
$user_id = $current_user->ID;
if($product_id == '240') {
update_user_meta( $user_id, 'open_1', true );
} elseif($product_id == '238') {
update_user_meta( $user_id, 'open_2', true );
} elseif($product_id == '239') {
update_user_meta( $user_id, 'open_3', true );
}
}