【发布时间】:2021-02-01 12:13:11
【问题描述】:
我想为已完成购买的 WooCommerce 客户创建一个仅限会员的部分,为他们分配一个新角色,因为所有注册用户的默认角色都是“客户”。
我偶然发现了一些可以解决这个问题的代码,但是商店里有 200 多种产品,单独列出所有产品会很麻烦。
是否可以为进行 ANY 购买的客户提供一个新角色?
这是原始代码:
add_action( 'woocommerce_order_status_completed', 'wpglorify_change_role_on_purchase' );
function wpglorify_change_role_on_purchase( $order_id ) {
// get order object and items
$order = new WC_Order( $order_id );
$items = $order->get_items();
$product_id = 56; // that's a specific product ID
foreach ( $items as $item ) {
if( $product_id == $item['product_id'] && $order->user_id ) {
$user = new WP_User( $order->user_id );
// Remove old role
$user->remove_role( 'customer' );
// Add new role
$user->add_role( 'editor' );
}
}
}
【问题讨论】:
标签: php wordpress woocommerce orders user-roles