Условно создать дополнительные наборы полей на странице оформления заказа в Woocommerce - PullRequest
0 голосов
/ 06 февраля 2020

Я хотел бы создать набор дополнительных полей ввода, если количество элементов больше одного. Вот так:

get_cart_contents_count() === 1 // No extra fields

get_cart_contents_count() === 2 // Generate new set of fields

<input id="Name2" />
<input id="Dob2" />

get_cart_contents_count() === 3 // Generate two sets of fields

<input id="Name2" />
<input id="Dob2" />

<input id="Name3" />
<input id="Dob3" />

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

add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );

function custom_override_checkout_fields( $fields ) {

//unset and set various checkout fields (working fine)

   if ( WC()->cart->get_cart_contents_count() > 1 ) {

       $fields['billing']['full_name_2'] = array(
        'label'     => __('Full Name', 'woocommerce'),
        'required'  => true,
        'class'     => array('form-row-wide'),
        'clear'     => true
       );

       $fields['billing']['full_name_2'];

    }
 return $fields;
}

Я также пробовал несколько вещей в условном выражении , например:

WC()->cart->get_cart_contents_count() !== 1
WC()->cart->get_cart_contents_count() !== '1'

Любой совет приветствуется.

...