• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь Добавить к Областям - города, подправить код WooCommerce

DMax

Гуру форума
Регистрация
11 Июн 2014
Сообщения
252
Реакции
54
Всем привет, нашел занятный код для добавления списка Областей к стране в WooCommerce но вот проблема, хочется к этим областям привязать города...
Это реально сделать с этим кодом?
Или как можно сделать подобное?
Вот код:
PHP:
/**
* Code goes in functions.php or a custom plugin. Replace XX with the country code your changing.
*/
add_filter( 'woocommerce_states', 'custom_woocommerce_states' );

function custom_woocommerce_states( $states ) {

  $states['XX'] = array(
    'XX1' => 'State 1',
    'XX2' => 'State 2'
  );

  return $states;
}
 
На основе этого Для просмотра ссылки Войди или Зарегистрируйся можно сделать как-то так:
Код:
add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );
function custom_override_default_address_fields( $address_fields ) {
    $address_fields['city']['type'] = 'select';
    $address_fields['city']['options'] = array(
        'option_1' => 'City 1',
        'option_2' => 'City 2'
    );

     return $address_fields;
}
Если не заработает (может от темы зависет или плагинов, изменяющих форму заказа) - попробуй прицеиться к хуку woocommerce_checkout_fields:
Код:
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) {
    $fields['billing']['billing_city']['type'] = 'select';
    $fields['billing']['billing_city']['options'] = array(
        'option_1' => 'City 1',
        'option_2' => 'City 2'
    );

   $fields['shipping']['shipping_city']['type'] = 'select';
   $fields['shipping']['shipping_city']['options'] = array(
        'option_1' => 'City 1',
        'option_2' => 'City 2'
    );

     return $fields;
}
 
  • Нравится
Реакции: DMax
На основе этого Для просмотра ссылки Войди или Зарегистрируйся можно сделать как-то так:
add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );
function custom_override_default_address_fields( $address_fields ) {
$address_fields['city']['type'] = 'select';
$address_fields['city']['options'] = array(
'option_1' => 'City 1',
'option_2' => 'City 2'
);

return $address_fields;
}
Этот код работает, но он выводит только города...
Хочется сделать так, чтобы выводились области и города к которым можно привязать доставку.
Например, выбираем Московская область - к ней привязаны Москва или Пушкино и т.д.
Один метод в один город, другой в другой.
В зонах доставки, не видно ваш код(
 
Назад
Сверху