フロントエンドのフィールドからカスタム分類法で用語を自動生成しようとしています。ただし、次のコードを使用して文字を入力しようとすると、表示されるドロップダウンメニューがたくさんのブラックボックスになります(下のスクリーンショット)。任意の助けがいただければ幸いです。それ以上の情報が必要な場合はお知らせください。ありがとうございます。
<?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>
こんにちはオートコンプリートは、ソースがarray, URL string and function return
であることを期待しています。たとえあなたがJSON
を与えたとしても、それはlabel and value
を持つべきです。 all
フィールドを付けてget_terms
を出力するだけなので、ここにはありません。
だから私は単にカテゴリの名前を返すことをお勧めします。フィールドを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>