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

Как сделать обязательным добавленное поле в оформление заказа???

Image CMS

dsqwared

Новичок
#1
Здравствуйте, уже длительное время не могу найти решение.
Вопрос состоит в следующем:
1.
в Форму заказа

я добавил свое поле, для выбора отделения почты, для доставки товара.
добавлял вот так:
PHP:
add_action( 'woocommerce_review_order_after_shipping','add_field_check_otdelenie_np' );
function add_field_check_otdelenie_np()
{
..............................
$res = '';
$res = '<select  name="shipping_method" data-index="1" id="shipping_method_1" class="shipping_method" >';
$res .= '<option value=""></option>';
    if ($city['data'][$i]["Ref"]){
    foreach ($result['data'] as $item) {
        $res .= '<option ';
        if ($item['DescriptionRu'] == $select_otdel)
        $res .= 'selected="selected"';   
        $res .= " value='".$item["DescriptionRu"]."'>".$item["DescriptionRu"]."</option>";
    }
   }

$res .= '</select>';
<tr class="shipping">
            <th  ><?php _e( 'Отделение', 'nova_poshta'); ?> <?php echo "НП в г. ".$_POST['s_city']; ?></th>
            <td><?php echo $res;?></td>
        </tr>
}
...........................
Все работает, но мне надо сделать, так чтобы это поле было обязательным для заполнения...


2.

Еще заменил поле с выбором города на свое, с выпадающим списком городов.
PHP:
add_filter( 'woocommerce_checkout_fields' , 'remove_city_fields' );
function remove_city_fields( $fields ) {
............................
   $city = $np->getCities();
    $city_cont = count($city['data']);
    $city_arr = array();
    for ($i=0; $i < $city_cont; $i++) {
        if ($i == 0)
         $j = "Выберите Город";
        else
         $j = $city['data'][$i]['DescriptionRu'];
        if ($i == 0)
         $city_arr['null'] = $j ;
        else
         $city_arr[$j] = $j ;   
    }
  
    $fields['billing']['billing_city'] = array(
            'label'     => __('City', 'woocommerce'),
            'placeholder'   => _x('City', 'placeholder', 'woocommerce'),
            'required'    => true,
            'clear'       => false,
            'type'        => 'select',
            'class'       => array('address-field','woocommerce-validated','update_totals_on_change'),
            'options'     => $city_arr
    );
     $fields['shipping']['shipping_city'] = array(
            'label'     => __('City', 'woocommerce'),
            'placeholder'   => _x('City', 'placeholder', 'woocommerce'),
            'required'    => true,
            'clear'       => false,
            'type'        => 'select',
            'class'       => array('address-field','woocommerce-validated','update_totals_on_change'),
            'options'     => $city_arr
    );
  return $fields;
}
Выглядит это примерно вот так.


Как его тоже сделать обязательным? 'required' => true, не срабатывает :(((
 
Последнее редактирование: