Как добавить собственные поля оплаты и доставки заказа в WooCommerce

Иногда может возникнуть необходимость добавить собственные поля на страницу Chekout (Оформление заказа) в WooCommerce. В сегодняшней статье мы расскажем как добавить нужные поля на страницу оформления заказа.

Добавление полей происходит ровно также как и их перезапись, о чем мы и говорили в прошлой статье. В качестве примера давайте добавим новое поле «телефон» к полям доставки shipping_phone.

// Перехватываем
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );

// Наша перехваченная функция - $fields проходит через фильтр
function custom_override_checkout_fields( $fields ) {
     $fields['shipping']['shipping_phone'] = array(
        'label'     => __('Phone', 'woocommerce'),
    'placeholder'   => _x('Phone', 'placeholder', 'woocommerce'),
    'required'  => false,
    'class'     => array('form-row-wide'),
    'clear'     => true
     );

     return $fields;
}

WooCommerce-Codex-Shipping-Field-Hook[1]

Теперь, когда у нас есть это новое поле, что нам с ним делать? А ничего делать не нужно, потому как мы определили это поле в массиве checkout_fields и оно автоматически обработается и сохранится в метаданных заказа (в данном случае поле будет называться там _shipping_phone). Если же вам нужно добавить дополнительные правила проверки ввода данных, то для этого придется воспользоваться дополнительным хуками.

Мы надеемся, что эта статья помогла вам добавить собственные поля на страницу оформления заказа в WooCommerce.

Если вы начинаете разбираться с WooCommerce, то не забудьте посетить нашу рубрику WooCommerce, где мы публикуем материалы специально по тематике магазинов на этой платформе.

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

VN:F [1.9.22_1171]
Rating: 5.0/5 (3 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top