Как я могу добавить форму загрузки в кассу woocommerce

Я пытаюсь добавить форму загрузки в кассу моего веб-сайта woocommerce ... Я нашел здесь хороший учебник: http://wcdocs.woothemes.com/snippets/tutorial-customising-checkout-fields-using-hooks-and-filters/ в котором показано, как настроить поля, однако в массиве нет возможности создать только форму загрузки (тип поля (текст, текстовое поле, пароль, выбор).

Как я мог это реализовать?


person Andrew Charlton    schedule 25.08.2012    source источник


Ответы (4)


К сожалению, я не могу ответить о перспективе woocommerce. Но поскольку ваша проблема связана с upload функциональностью, я рекомендую вам valums / file-uploader. Я использовал его во всех моих последних плагинах WP, как фронтальных, так и внутренних.

Этот плагин использует XMLHttpRequest (AJAX) для загрузки нескольких файлов с индикатором выполнения в FF3.6 +, Safari4 +, Chrome и возвращается к загрузке на основе скрытого iframe в других браузерах (а именно IE), обеспечивая хорошее взаимодействие с пользователем во всем мире.

Это немного сложно заставить его работать, но как только вы добьетесь этого, вам это понравится. Так что, если вы хотите попробовать и нуждаетесь в помощи, спросите еще раз здесь, в SO. И перенаправьте его мне, чтобы я мог быть проинформирован, чтобы помочь вам.

person Igor Parra    schedule 25.08.2012
comment
спасибо, он просто пытается привязать его к кнопке добавления в корзину на woocommerce и т. д. - person Andrew Charlton; 26.08.2012

Я использую загрузку файлов в каждом из своих продуктов - формы гравитации позволяют это - хотя есть одно ограничение: размер файла по умолчанию составляет около 8 МБ, хотя мне сказали, что это можно увеличить.

Я использую woo commerce - и есть расширение для форм гравитации - что позволяет очень легко добавлять эти формы в продукты (или что-то еще).

Единственным недостатком является отсутствие панели загрузки или отображения загруженного файла ...

person david    schedule 02.05.2013

Для формы попробуйте использовать эти два крючка:

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

Использование загрузчика valums или хуков woocomerce требует глубоких знаний о php. Ответ на альтернативное решение содержится в этом сообщении: Разрешить загрузку при оформлении заказа в WooCommerce

person user3256600    schedule 31.01.2014
comment
это была ужасная рекомендация, и ее нужно было закрыть давным-давно, tbh. - person Frankenmint; 25.02.2016