Для изменения роли пользователя в Woocommerce после покупки определенного товара, вам понадобится добавить следующий код в файл functions.php вашей активной темы:
```php
// Устанавливаем новую роль пользователя после покупки определенного товара
function change_user_role_after_purchase( $order_id ) {
// Получаем объект заказа
$order = wc_get_order( $order_id );
// Проверяем, содержит ли заказ определенный товар
if ( $order->is_paid() ) {
// Массив ID товаров, для которых должна измениться роль пользователя
$target_product_ids = array( 123, 456, 789 ); // Замените на ID ваших товаров
// Получаем все предметы заказа
$items = $order->get_items();
// Перебираем все предметы заказа
foreach ( $items as $item ) {
// Получаем ID товара
$product_id = $item->get_product_id();
// Проверяем, есть ли ID товара в списке целевых товаров
if ( in_array( $product_id, $target_product_ids ) ) {
// Получаем пользователя заказа
$user = $order->get_user();
// Проверяем, существует ли пользователь
if ( $user ) {
$user_id = $user->ID;
// Меняем роль пользователя на новую
wp_update_user( array( 'ID' => $user_id, 'role' => 'новая_роль' ) ); // Замените на желаемую новую роль
}
}
}
}
}
add_action( 'woocommerce_order_status_completed', 'change_user_role_after_purchase' );
```
Не забудьте заменить `$target_product_ids` на ID ваших целевых товаров, и `'новая_роль'` на желаемую новую роль пользователя.
Теперь, после завершения покупки определенного товара, у пользователя будет изменена его роль.