• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

checkbox на странице checkout

florian

Новичок
Доброе время суток.
как на страницу checkout добавить поле вида checkbox без плагинов?
так понимаю нужно править функцию shipping_type_field....не работает
/**
* Add the field to the checkout - Добавляем поле в оплату
**/
add_action( 'woocommerce_after_checkout_billing_form', 'shipping_type_field', 10 );
function shipping_type_field( $checkout ) {
echo '<div id="shipping_type_field" >' . '';
woocommerce_form_field_radio( 'shipping_type', array(
'type' => 'checkbox',
'class' => array(
'shipping_type form-row-wide'
),
'label' => __( 'Способ доставки' ),
'placeholder' => __( '' ),
'required' => true,
'options' => array(
'Самовывоз' => 'Самовывоз<br/>',
'тест' => 'тест<br/>',
'тест2' => 'тест2<br/>'
)
), $checkout->get_value( 'shipping_type' ) );
echo '</div>';
}
/**
* Process the checkout - проверка на обязательность поля
**/
add_action( 'woocommerce_checkout_process', 'my_custom_checkout_field_process' );
function my_custom_checkout_field_process( ) {
global $woocommerce;
// Check if set, if its not set add an error.
if ( !$_POST[ 'shipping_type' ] )
$woocommerce->add_error( __( 'Пожалуйста, выберите способ доставки' ) );
}
/**
* Update the order meta with field value - обновление данных заказа с учетом нового поля
**/
add_action( 'woocommerce_checkout_update_order_meta', 'shipping_type_field_update_order_meta' );
function shipping_type_field_update_order_meta( $order_id ) {
if ( $_POST[ 'shipping_type' ] )
update_post_meta( $order_id, 'Shipping type', esc_attr( $_POST[ 'shipping_type' ] ) );
}
 
Сверху Снизу