Question

I have below code to extract all terms from multiple taxonomies,

$taxonomies = array('ingredients','category','course');
                $args = array(
                    'hide_empty' => 0
                );
                $terms = get_terms( $taxonomies, $args);
                $AutoComplete = array();

                foreach($terms as $key => $value) {
                    array_push($AutoComplete[$value->taxonomy] = [$value->name]);
                }
                    echo "<pre>";
                    echo json_encode($AutoComplete);
                    echo "</pre>";
            ?>

This works fine and gives me the result of

{"ingredients":["Cumin Seeds"],"category":["Uncategorized"],"course":["Main Course"]}

The issue is that the all taxonomies have multiple terms but it returns only one - the last term.

Am I missing any this here?

Thanks Saq

Was it helpful?

Solution

I think that problem is at array_push($AutoComplete[$value->taxonomy] = [$value->name]);

Can you replace it with this code and test once?

$AutoComplete[$value->taxonomy][] = [$value->name];
Licensed under: CC-BY-SA with attribution
Not affiliated with wordpress.stackexchange
scroll top