0
在我們的WooCommerce商店,我們有一個特定的產品,在購買並確認訂單時將用戶角色更改爲「俱樂部」成員(高級會員)。在WooCommerce購買特定產品後更改角色和用戶元值?
我們現在還需要爲用戶分配一個唯一的成員ID,我試圖通過從訂單ID複製數字來分配該用戶。通過高級自定義字段插件,元鍵「club_member_id」已添加爲當前默認值爲1的用戶的自定義字段。
下面的源代碼將用戶角色更改爲「俱樂部」,但不會更改「club_member_id」的元值。任何人都可以對此有所瞭解嗎?
//Change role and add Club ID if club membership is bought
function lgbk_add_member($order_id) {
$order = new WC_Order($order_id);
$items = $order->get_items();
foreach ($items as $item) {
$product_name = $item['name'];
$product_id = $item['product_id'];
$product_variation_id = $item['variation_id'];
$original_cid = get_user_meta('club_member_id');
$meta_key = 'club_member_id';
$meta_value = $order_id;
if ($order->user_id > 0 && $product_id == '7968') {
update_user_meta($order->user_id, 'paying_customer', 1);
$user = new WP_User($order->user_id);
// Remove role
$user->remove_role('customer');
// Add role
$user->add_role('club');
// Remove club member ID
$user->delete_user_meta($user, $meta_key);
// Add club member ID
$user->add_user_meta($user, $meta_key, $meta_value);
}
}
} add_action('woocommerce_order_status_completed', 'lgbk_add_member');
此代碼已放置在我們主題的functions.php文件中。提前致謝。
非常感謝。這解決了我的問題。 –