Введите часть искомого слова, названия или фразы...
↑ ↓
  1. Новые темы озаглавленные с маленькой буквы - удаляются без предупреждения!
  2. Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

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

Тема в разделе "Вопросы, советы и доработки.", создана пользователем florian, 6 сен 2015.

  1. florian

    florian

    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    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' ] ) );
    }