Добавить пользовательское поле Checkout, основанное на весе корзины в Woocommerce - PullRequest
2 голосов
/ 30 мая 2019

На странице оформления заказа я хотел бы добавить пользовательское поле, если содержимое корзины весит более 1000 кг.

Есть ли способ добавить оператор if (в form-checkout.php?), Который получает вес корзины, а затем я могу добавить его в поле выбора?

1 Ответ

1 голос
/ 30 мая 2019

Первое чтение официальная документация для настройки полей оформления заказа или эта документация тоже.

Вот пример, который добавляет пользовательское поле выбора для выставления счетов, когда вес корзины превышает 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 вашей активной дочерней темы (или активной темы). Протестировано и работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...