Первое чтение официальная документация для настройки полей оформления заказа или эта документация тоже.
Вот пример, который добавляет пользовательское поле выбора для выставления счетов, когда вес корзины превышает 1000 кг (1 тонна) на странице оформления заказа:
add_filter( 'woocommerce_checkout_fields' , 'customizing_checkout_fields', 10, 1 );
function customizing_checkout_fields( $fields ) {
if( WC()->cart->get_cart_contents_weight() > 1000 ) {
// Custom Select field
$fields['billing']['billing_custom'] = array(
'type' => 'select',
'label' => __("Cart weight over 1 Ton", "woocommerce"),
'class' => array('form-row-wide'),
'options' => array(
'' => __("Choose an option please…", "woocommerce"),
'option-1' => __("Option 1", "woocommerce"),
'option-2' => __("Option 1", "woocommerce"),
'option-3' => __("Option 1", "woocommerce"),
),
'priority' => '120',
'required' => true,
);
}
return $fields;
}
Код помещается в файл functions.php вашей активной дочерней темы (или активной темы). Протестировано и работает.