Загрузите несколько файлов при размещении заказа WoocommercePhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Загрузите несколько файлов при размещении заказа Woocommerce

Сообщение Anonymous »

Я использую код, который добавляет поле загрузки файла на странице оформления заказа. Как добавить загрузку файла в Woocommerce Checkout? Большое спасибо @loictheaztec за этот код.add_action( 'woocommerce_after_order_notes', 'add_custom_checkout_field' );
function add_custom_checkout_field($checkout) {

echo '';

woocommerce_form_field('certificate', array(
'type' => 'file',
'class' => array('form-row-wide'),
'label' => __('File', 'woocommerce'),
'required' => false,
'max_size' => '2048',
'accept' => '.pdf,.doc,.docx,.rtf,.txt',
), '');

echo '';
}

// Save the uploaded file URL and name
add_action( 'woocommerce_checkout_create_order', 'save_checkout_uploaded_file', 10, 2 );
function save_checkout_uploaded_file( $order, $data ){
if( $checkout_upload = WC()->session->get('checkout_upload') ) {
$order->update_meta_data( '_checkout_upload', $checkout_upload );
}
WC()->session->__unset('checkout_upload');
}

// Display the uploaded file in admin orders
add_action('woocommerce_admin_order_data_after_billing_address', 'display_uploaded_file_in_admin_orders');
function display_uploaded_file_in_admin_orders( $order ){
if( $checkout_upload = $order->get_meta( '_checkout_upload' ) ) {
printf( '
%s
%s
',
__("File Uploaded:", 'woocommerce'),
$checkout_upload['file_url'],
$checkout_upload['file_name']
);
}
}

// Display the uploaded file in thankyou page
add_action('woocommerce_order_details_after_order_table', 'display_uploaded_file_in_thankyou');
function display_uploaded_file_in_thankyou ( $order ){
if( $checkout_upload = $order->get_meta( '_checkout_upload' ) ) {
printf( '
%s
%s
',
__("File Uploaded:", 'woocommerce'),
$checkout_upload['file_url'],
$checkout_upload['file_name']
);
}
}

// Display the uploaded file in emails
add_action('woocommerce_email_customer_details', 'display_uploaded_file_in_email');
function display_uploaded_file_in_email ( $order ){
if( $checkout_upload = $order->get_meta( '_checkout_upload' ) ) {
printf( '
%s %s
',
__("File Uploaded:", 'woocommerce'),
$checkout_upload['file_url'],
$checkout_upload['file_name']
);
}
}
< /code>
На данный момент можно загрузить только один файл. Как я могу загрузить несколько файлов одновременно? Я буду рад вашей помощи!

Подробнее здесь: https://stackoverflow.com/questions/797 ... erce-order
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»