Добавьте флажок под конкретным способом доставки в WooCommerce 3

Я пытаюсь настроить страницу оформления заказа. На странице оформления заказа я установил 2 способа доставки. Моя цель - добавить настраиваемое поле под первым способом доставки. Для этого я использовал крючок, о котором упоминал ниже.

woocommerce_after_shipping_rate

Но моя проблема в том, что он просто добавляет одно и то же поле для каждого доступного способа доставки. Как мне добавить поле ввода для определенного способа доставки?


person Akberov    schedule 20.08.2018    source источник


Ответы (1)


Используя аргумент $method, который является экземпляром объекта WC_Shipping_Rate, вы можете настроить таргетинг любой идентификатор способа доставки с использованием метода get_id(), как в этом примере:

add_action( 'woocommerce_after_shipping_rate', 'checkout_shipping_additional_field', 20, 2 );
function checkout_shipping_additional_field( $method, $index )
{
    if( $method->get_id() == 'flat_rate:12' ){
        echo '<br>
        <input type="checkbox" name="shipping_custom_1" id="shipping_custom_1" value="1" class="shipping_method shipping_custom_1">
        <label for="shipping_custom_1">Custom label</label>';
    }
}

Код находится в файле function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

введите описание изображения здесь

введите описание изображения здесь


Подобные ответы:

person LoicTheAztec    schedule 20.08.2018
comment
Спасибо @LoicTheAztec! Это именно то, что мне нужно. Я ценю вашу помощь ! - person Akberov; 20.08.2018
comment
как я могу изменить стоимость доставки после выбора этого настраиваемого поля? - person Thiago; 15.08.2019