Woocommerce добавление (привязка) скачиваемых товаров в личный кабинет клиента?
Ссылка скопирована
Здравствуйте. Задача состоит в том, что нужно создать один аккаунт woocommerce и добавить (привязать) на аккаунт купленные товары, которые являются как скачиваемые товары. Возможно ли это реализовать? И каким способом?
Дополнительно:
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Да, в WooCommerce можно вручную привязать скачиваемый товар к аккаунту клиента, но лучше делать это через заказ, а не прямой записью в базу. WooCommerce хранит доступы к скачиваемым файлам отдельно, и если просто создать пользователя или отметить товар “купленным”, доступ к файлам может не появиться.
Самый безопасный способ через админку:
После перевода заказа в completed WooCommerce обычно создаёт download permissions автоматически. Клиент увидит файлы в личном кабинете в разделе загрузок.
Если нужно сделать это кодом, можно создать заказ и добавить товар:
$user_id = 123; $product_id = 456; $order = wc_create_order([ 'customer_id' => $user_id, ]); $order->add_product(wc_get_product($product_id), 1); $order->calculate_totals(); $order->update_status('completed');
Если доступы не создались, можно вызвать выдачу разрешений:
wc_downloadable_product_permissions($order->get_id(), true);
Не рекомендую вручную вставлять строки в таблицу download permissions через SQL, если нет крайней необходимости. Там есть привязки к заказу, пользователю, товару, файлу, количеству загрузок и сроку. Ошибка в этих данных приведёт к тому, что клиент не увидит файл или получит доступ не к тому товару.
Итог: да, реализуется. Для разовой задачи создайте заказ на клиента и переведите его в выполненные. Для массовой миграции — пишите скрипт через WooCommerce API, который создаёт заказы и выдаёт download permissions штатными функциями.