Anonymous
Пользовательские поля оформления заказа для каждого количества товаров в корзине в WooCommerce
Сообщение
Anonymous » 08 окт 2024, 11:00
Я нашел этот код, который делает именно то, что мне нужно, за исключением того, что он не добавляет информацию в электронное письмо или детали заказа.
Что касается контекста, мы продает билеты и хочет собрать информацию о каждом владельце билетов.
Код: Выделить всё
//Custom WooCommerce Checkout Fields based on Quantity
add_action( 'woocommerce_before_order_notes', 'person_details' );
function person_details($checkout) {
global $woocommerce;
$count = $woocommerce->cart->cart_contents_count;
$i = 1;
for($k=2; $k 'text',
'class' => array('my-field-class form-row-wide'),
'label' => __('Full name'),
'placeholder' => __('Enter full name'),
),
$checkout->get_value( 'cstm_full_name'.$i ));
echo '';
woocommerce_form_field( 'cstm_phone'.$i, array(
'type' => 'text',
'class' => array('my-field-class form-row-first'),
'label' => __('Phone'),
'placeholder' => __('Enter phone number'),
),
$checkout->get_value( 'cstm_phone'.$i ));
woocommerce_form_field( 'cstm_email'.$i, array(
'type' => 'email',
'class' => array('my-field-class form-row-last'),
'label' => __('Email address'),
'placeholder' => __('Enter email address'),
),
$checkout->get_value( 'cstm_email'.$i ));
echo '';
woocommerce_form_field( 'cstm_address'.$i, array(
'type' => 'textarea',
'class' => array('my-field-class form-row-wide'),
'label' => __('Full address'),
'placeholder' => __('Enter full address'),
),
$checkout->get_value( 'cstm_address'.$i ));
}
}
/**
* Save value of fields
*/
add_action('woocommerce_checkout_update_order_meta', 'customise_checkout_field_update_order_meta');
function customise_checkout_field_update_order_meta($order_id) {
global $woocommerce;
$count = $woocommerce->cart->cart_contents_count;
$i = 1;
for($k=2; $k
Подробнее здесь: [url]https://stackoverflow.com/questions/77989190/attendees-custom-checkout-fields-per-cart-item-quantity-in-woocommerce[/url]
1728374400
Anonymous
Я нашел этот код, который делает именно то, что мне нужно, за исключением того, что он не добавляет информацию в электронное письмо или детали заказа. Что касается контекста, мы продает билеты и хочет собрать информацию о каждом владельце билетов. [code]//Custom WooCommerce Checkout Fields based on Quantity add_action( 'woocommerce_before_order_notes', 'person_details' ); function person_details($checkout) { global $woocommerce; $count = $woocommerce->cart->cart_contents_count; $i = 1; for($k=2; $k 'text', 'class' => array('my-field-class form-row-wide'), 'label' => __('Full name'), 'placeholder' => __('Enter full name'), ), $checkout->get_value( 'cstm_full_name'.$i )); echo ''; woocommerce_form_field( 'cstm_phone'.$i, array( 'type' => 'text', 'class' => array('my-field-class form-row-first'), 'label' => __('Phone'), 'placeholder' => __('Enter phone number'), ), $checkout->get_value( 'cstm_phone'.$i )); woocommerce_form_field( 'cstm_email'.$i, array( 'type' => 'email', 'class' => array('my-field-class form-row-last'), 'label' => __('Email address'), 'placeholder' => __('Enter email address'), ), $checkout->get_value( 'cstm_email'.$i )); echo ''; woocommerce_form_field( 'cstm_address'.$i, array( 'type' => 'textarea', 'class' => array('my-field-class form-row-wide'), 'label' => __('Full address'), 'placeholder' => __('Enter full address'), ), $checkout->get_value( 'cstm_address'.$i )); } } /** * Save value of fields */ add_action('woocommerce_checkout_update_order_meta', 'customise_checkout_field_update_order_meta'); function customise_checkout_field_update_order_meta($order_id) { global $woocommerce; $count = $woocommerce->cart->cart_contents_count; $i = 1; for($k=2; $k Подробнее здесь: [url]https://stackoverflow.com/questions/77989190/attendees-custom-checkout-fields-per-cart-item-quantity-in-woocommerce[/url]