Wordpress, Woocommerce - не удается сохранить / загрузить изображение на месте заказа - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь загрузить изображение в медиа-библиотеку. Это изображение загружено на страницу продукта.

Мне удалось сделать это при добавлении товара в корзину. Но проблема в том, что сервер очень быстро заполняется, когда люди просто добавляют товары в корзину. (а не покупать)

Я хочу, чтобы изображение загружалось только при успешной покупке.

Я использую media_handle_upload() для загрузки файла. Это прекрасно работает на add_filter('woocommerce_add_cart_item_data', 'myFunction01', 10, 4);

Но тогда, как уже упоминалось, он загружается слишком рано. в корзину добавить.

Так что я подумал о том, чтобы поместить его в это действие, чтобы оно выполнялось только при размещенном заказе. (Я делаю это здесь, потому что я также сохраняю и обновляю здесь поле для пользовательского идентификатора загружаемого медиа)

add_action('woocommerce_checkout_create_order_line_item', 'myFunction01', 10, 4);

Я почти уверен, что media_handle_upload() получает данные от $_FILES. И это держится, насколько я знаю, на одной странице. И поэтому он ушел в woocommerce_checkout_create_order_line_item.

Вопрос

  • Есть ли хороший вариант загрузки файла при оформлении заказа?
  • Обходной путь по $_FILES в живых?
  • Временное хранилище для изображения до заказа (и, что важно, удалить, если не заказано)
  • Хранить $_FILES в поле продукта * media_handle_upload() с Это? Что-то вроде product_item->files
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...