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

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

Image CMS

florian

Новичок
#1
Доброе время суток.
как на страницу 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' ] ) );
}
 
Сверху Снизу