Ранее я реализовывал решение по изменению роли пользователя при регистрации, но, похоже, на этот раз чего-то не хватает.
Есть ли у кого-нибудь решение для этого, которое все еще работает или сможет указать мне правильное направление относительно того, что я пропускаю или делаю неправильно?
Это то, что я пробовал до сих пор.
add_action('woocommerce_thankyou', 'change_user_role_on_order_success');
function change_user_role_on_order_success($order_id ) {
// Get all customer orders
$customer_orders = get_posts( array(
'numberposts' => -1,
'meta_key' => '_customer_user',
'meta_value' => get_current_user_id(),
'post_type' => 'shop_order', // WC orders post type
'post_status' => 'wc-completed' // Only orders with status "completed"
) );
// Count number of orders
$count = count( $customer_orders );
// return "true" when customer has already one order
if ( $count >= 1 ) {
$user = new WP_User( $order->get_user_id() );
// our new role name
$role = 'editor';
//set the new role to our customer
$user->set_role($role);
}
}