Поле формы автогенерации с использованием jQuery

Я пытаюсь автогенерировать термины в пользовательской таксономии из поля переднего конца. Однако, когда я использую следующий код и пытаюсь ввести букву, выпадающее меню, представляющее собой кучу черных ящиков (снимок экрана ниже). Любая помощь будет оценена по достоинству. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Благодаря!

<?php $args = array( 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => false, 'include' => array(), 'exclude' => array(), 'exclude_tree' => array(), 'number' => '', 'offset' => '', 'fields' => 'all', 'name' => '', 'slug' => '', 'hierarchical' => true, 'search' => '', 'name__like' => '', 'description__like' => '', 'pad_counts' => false, 'get' => '', 'parent' => '0', 'childless' => false, 'cache_domain' => 'core', 'update_term_meta_cache' => true, 'meta_query' => '' ); $phpArray = get_terms( 'listing_taxonomy', $args ); ?> <script> $(function() { var availableTags = <?php echo json_encode($phpArray); ?>; $( "#tags" ).autocomplete({ source: availableTags }); }); </script> 

введите описание изображения здесь

Вызов console.log (availableTags) дает следующее: введите описание изображения здесь

Solutions Collecting From Web of "Поле формы автогенерации с использованием jQuery"

Привет автозаполнение ожидает, что источником будет array, URL string and function return . Даже если вы дадите JSON тогда он должен иметь label and value . Здесь нет, поскольку вы просто get_terms со all полями.

Поэтому я бы предложил только вернуть название категорий. Изменение полей от all до names будет хорошо работать.

 <?php $args = array( 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => false, 'include' => array(), 'exclude' => array(), 'exclude_tree' => array(), 'number' => '', 'offset' => '', 'fields' => 'names', 'name' => '', 'slug' => '', 'hierarchical' => true, 'search' => '', 'name__like' => '', 'description__like' => '', 'pad_counts' => false, 'get' => '', 'parent' => '0', 'childless' => false, 'cache_domain' => 'core', 'update_term_meta_cache' => true, 'meta_query' => '' ); $phpArray = get_terms( 'listing_taxonomy', $args ); ?> <script> $(function() { var availableTags = <?php echo json_encode($phpArray); ?>; $( "#tags" ).autocomplete({ source: availableTags }); }); </script>