Я пытаюсь настроить Страница оформления заказа. На моей странице оформления заказа я установил 2 способа доставки. Моя цель — добавить пользовательское поле ниже первого способа доставки.. Для достижения этого я использовал крючок, который я упомянул ниже.
woocommerce_after_shipping_rate
Но моя проблема в том, что он просто добавляет одно и то же поле для каждого доступного способа доставки. Как мне удается добавить поле ввода для определенного способа доставки?
С использованием $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 вашей активной дочерней темы (или активной темы). Проверено и работает.
Подобные ответы:
Других решений пока нет …