Для формы попробуйте использовать эти два крючка:
1) add_action ('woocommerce_after_cart_table', 'add_file_to_upcoming_order');
2) add_action ('woocommerce_checkout_after_customer_details', 'add_file_to_upcoming_order');
А чтобы получать / получать файлы, вы должны использовать такие хуки, как:
add_action('woocommerce_init', 'file_during_checkout');
add_action( 'woocommerce_order_status_pending', 'wc_checkout_order_processed');
add_action( 'woocommerce_order_status_on-hold', 'wc_checkout_order_processed');
add_action( 'woocommerce_order_status_processing', 'wc_checkout_order_processed');
add_action( 'woocommerce_order_status_completed', 'wc_checkout_order_processed');
Важно: add_action ('save_post', 'pre_wc_checkout_order_processed');
Описание: На самом деле вы можете потерять свои вложения, когда ваш крючок будет в зависимости от статуса заказа. Предположим, ваш заказ все равно не выполнен, поэтому вы также потеряете сеанс PHP. Лучше, если вы справитесь с крючком "save_post" и должны будете добавить несколько флагов к вашим загружаемым вложениям.
Вы можете использовать эту функцию wp_handle_upload для обработки загруженных файлов. После загрузки файлов вы можете легко получить элементы заказа из объекта WooCommerce "WC_Order" и $ order-> get_items (), которые были добавлены ранее. Я пытался заставить его работать в прошлом году, и многие люди тоже им пользовались, вы можете разработать улучшенное решение. с помощью этих крючков.
person
WordPress Mechanic
schedule
20.06.2015