How to load WP categories into array for autocomplete?

I am currently making a new site and i am stuck with the autocomplete for the standard search form from wordpress. Anyone knows how can i load my wordpress categories to use in this script? Its a mix with javascript and php(to load my categories from wp)

Topic autocomplete forms Wordpress search

Category Web


It is not clear what autocomplete function you are using in JS, if it is from a library or custom, but I'm assuming that it expects an array where locations is passed and not a string, which is what you're feeding it.

The function you should be using is get_terms(), not wp_list_categories(), the former being used for returning an array of terms in a taxonomy, the latter is for returning a string of HTML markup. You can use the fields argument to filter which fields you want included in the results.

Example: $locations = get_terms( array( 'taxonomy' => 'category', 'hide_empty' => false, 'fields' => 'names' ) );

Secondly, as mentioned above, your locations variable is populated with a string in JS not an array. This might be fine if the autocomplete function were to parse it as JSON automatically, but in that case your string would not be valid JSON anyway as you are outputting a <ul> markup string inside the brackets. Try this:

var locations = ["<?php echo implode('", "', $locations); ?>"];

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.