Intereting Posts
Статистика WordPress продолжает показывать несуществующий пост в качестве главного сообщения? Интеграция с темами и плагинами под * одним * паролем Применить pre_get_posts к специальному типу сообщений в области администрирования Как сбросить обычный запрос $ на странице поиска, чтобы отправить пользовательский запрос $ wpdb? Работа с query_posts (массивы и строки запроса) Добавить генератор паролей на странице с защитой паролем Установить текст по умолчанию для редактора в новых сообщениях Как добавить кнопку мультимедиа для пользователей, которые не имеют возможности «upload_files»? Код Bootstrap, действующий странно на wordpress Запуск action_post не работает Поддерживает ли wordpress wp_enqueue_style noscript? Отображение двух типов сообщений, упорядоченных двумя настраиваемыми полями Можно ли сделать * .js и папки видимыми в редакторе тем Как разработать плагин wordpress для внешнего пользователя? Использование post_class для стилей сообщений indivdually

PHP-массив для массива jQuery "Uncaught SyntaxError: Неожиданный токен <"

Я пытаюсь передать мой массив php в массив jQuery, но у меня есть эта ошибка на консоли Chrome. Uncaught SyntaxError: Неожиданный токен <

functions.php

/*Call Jquery for dropdowns*/ function mytheme_custom_scripts(){ if ( is_page('Support')) { $scriptSrc = get_stylesheet_directory_uri() . '/js/freshdeskdata.js'; wp_enqueue_script( 'myhandle', $scriptSrc , array(), '1.0', false ); } } add_action( 'wp_enqueue_scripts', 'mytheme_custom_scripts' ); /*End - Jquery*/ add_filter('wpcf7_form_tag_data_option', function($n, $options, $args){ ... // Category if (in_array('category.provider', $options)){ ... // Getting results $result = curl_exec($ch); // Getting jSON result string curl_close($ch); $data = json_decode($result, true); global $choice; // This is my array $choice = $data[0]['choices']; ksort($choice); return array_keys($choice); } // default - do not apply any changes within the options return null; }, 10, 3); 

/js/freshdeskdata.js

 jQuery(function ($) { $(document).ready(function() { $("#main-category").on('change', function() { var arrayFromPHP = <?php echo json_encode($choice); ?>; var $el = $("#sub-category"); $el.empty(); alert("arrayFromPHP"); }); }); }); 

Solutions Collecting From Web of "PHP-массив для массива jQuery "Uncaught SyntaxError: Неожиданный токен <""

Чтобы изменить выбор в зависимости от того, какой пользователь выбрал в другом вводе / выборе, вам необходимо использовать API WP AJAX .

В вашем functions.php используйте wp_localize_script (), чтобы получить URL-адрес AJAX на интерфейсе и определить обратный вызов действия AJAX

 function mytheme_custom_scripts() { if ( is_page('Support') ) { $scriptSrc = get_stylesheet_directory_uri() . '/js/freshdeskdata.js'; wp_enqueue_script( 'myhandle', $scriptSrc , array(), '1.0', false ); wp_localize_script( 'myhandle', 'mydata', array( 'ajaxurl' => admin_url('admin-ajax.php') ) ); } } add_action( 'wp_enqueue_scripts', 'mytheme_custom_scripts' ); function get_choices() { $main_category = $_POST['main_category']; $choices = []; // todo: get choices here wp_send_json_success($choices); // send data with success code and die } add_action('wp_ajax_get_choices', 'get_choices'); //back-end add_action('wp_ajax_nopriv_get_choices', 'get_choices'); //front-end 

Затем в вашем скрипте сделайте вызов AJAX, чтобы получить выбор

 jQuery(function ($) { $(document).ready(function() { $("#main-category").on('change', function() { $.post(mydata.ajaxurl, { // mydata has been created by the wp_localize_script function action: 'get_choices', main_category: $("#main-category").val() }, function (response) { console.log(response) // todo: display new choices }) }); }); });