Создать акаунт
Всё для вебмастера » Вопросы и ответы » CMS » WordPress » Как сделать select2 в чекауте вместо обычного в списке городов?

Как сделать select2 в чекауте вместо обычного в списке городов?

28 мар 2022, 03:59
WordPress
260
0
Мне просто надо список из нескольких городов, без регионов. Из способов из интернета для меня сработал вот этот, чтобы сделать поле города селектом
add_filter( 'woocommerce_checkout_fields' , 'override_checkout_city_fields' );function override_checkout_city_fields( $fields ) {    // Define here in the array your desired cities (Here an example of cities)    $option_cities = array(         '' => __( 'Choose your city' ),        'City1' => 'City1',         'City2' => 'City2',          );    $fields['billing']['billing_city']['type'] = 'select';    $fields['billing']['billing_city']['options'] = $option_cities;    $fields['shipping']['shipping_city']['type'] = 'select';    $fields['shipping']['shipping_city']['options'] = $option_cities;    return $fields;}


Но это обычный селект,а мне надо select2 с поиском- такой, как бывает с классами select2 enhanced.
По идее селект2 вшит в ядро, если его специально не отключить. Я не отключал, но
jQuery('select#billing_city').select2();
не помогло, и вот этот популярный по запросу сниппет, который вообще все селекты делает селектами2 - тоже не делает его красивым синеньким с поиском и с нужными классами.
function enqueue_select2_jquery() {    wp_register_style( 'select2css', '//cdnjs.cloudflare.com/ajax/libs/select2/3.4.8/select2.css', false, '1.0', 'all' );    wp_register_script( 'select2', '//cdnjs.cloudflare.com/ajax/libs/select2/3.4.8/select2.js', array( 'jquery' ), '1.0', true );    wp_enqueue_style( 'select2css' );    wp_enqueue_script( 'select2' );}add_action( 'admin_enqueue_scripts', 'enqueue_select2_jquery' );function select2jquery_inline() {    ?><style type="text/css">.select2-container {margin: 0 2px 0 2px;}.tablenav.top #doaction, #doaction2, #post-query-submit {margin: 0px 4px 0 4px;}</style><script type='text/jаvascript'>jQuery(document).ready(function ($) {    if( $( 'select' ).length > 0 ) {        $( 'select' ).select2();        $( document.body ).on( "click", function() {             $( 'select' ).select2({                  theme: "classic"             });          });    }});</script>    <?php }add_action( 'admin_head', 'select2jquery_inline' );

Пробовал и подключать хардкорно прям в шапку ссылку с самого сайта селект2 просто чтобы поверить. Как это сделать правильно - какая инструкция из документации не устаревшая или какой способ проверен вами,что рабочий?

Внимание! Как сделать select2 в чекауте вместо обычного в списке городов? предоставлен пользователями сайта исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.

Смотрите также:

Комментарии к Как сделать select2 в чекауте вместо обычного в списке городов?
Добавить Комментарий
В комментариях запрещаются спам, а также реклама любых товаров и услуг, иных ресурсов.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.