Кирилица и json decode в wp_localize_script - Wordpress не отображает кирилический текст

Имеется JS скрипт Яндекс.Карт, который собирает данные о метках через глобальную переменную (CDATA) и добавляет их на карту.

В данную переменную сначала приходит массив данных из полей админки. Далее обрабатывается вот таким кодом.

$data  =  cs_get_option('maps_homes_list');
wp_enqueue_style( 'map-styles-additional', get_template_directory_uri() . '/assets/dist/css/modules/maps/map-style.css');
wp_enqueue_script('home-list-map', YUYU_T_URI . '/assets/dist/js/map_home_list.js', array('jquery'), '', true);
            
    global $wp_scripts;
            
            if(empty($data)) {
              wp_localize_script('home-list-map', 'placemarks', $localized_data);
            }
            else {
              if(!is_array($data)) {
                $data = json_decode(str_replace('var placemarks = ', '', substr($data, 0, -1)), true);
              }
              foreach($data as $key => $value) {
                $localized_data[$key] = $value;
              }
              $wp_scripts->add_data('home-list-map', 'data', '');
              wp_localize_script('home-list-map', 'placemarks', $localized_data);
            }

а на выходе я имею вот такую дребедень:

/* <![CDATA[ */ var placemarks = {"2":{"home_name":"\u041f\u0438\u0440\u043e\u0433\u043e\u0432\u043e","home_coordinates":"55.989269242363996,37.66439398081199"},"3":{"home_name":"\u041c\u0435\u0434\u0432\u0435\u0434\u043a\u043e\u0432\u043e-\u0425\u043e\u0432\u0440\u0438\u043d\u043e","home_coordinates":"55.93759065152783,37.650518878295884"},"4":{"home_name":"\u041b\u0435\u0441\u043d\u044b\u0435 \u043f\u043e\u043b\u044f\u043d\u044b","home_coordinates":"55.59761043408846,37.449955855819695"},"5":{"home_name":"\u041c\u0435\u0434\u0432\u0435\u0436\u044c\u0438 \u041e\u0437\u0451\u0440\u0430","home_coordinates":"55.8593837767216,37.964252228836045"}}; /* ]]> */

Как заставить показывать вместо Юникода - кирилицу? и заставить не убирать слеши при вставке html, так как требуется содержание для балунов?

Однно замечание: даже при удалении json_decode почему-то никакой реакции не происходит в коде, хотя вроде должен использоваться.


Ответы (0 шт):