I’m trying to populate a select field with all the tags on my posts. However $choices = get_tags(); doesn’t seem to work – but when I use a manual array e.g. $choices = array(“one”, “two”, “three”); this works fine. What’s going on? Thank you 🙂
function acf_load_tag_field_choices( $field ) {
// reset choices
$field[‘choices’] = array();
//gets all tags in the array choices
// $choices = array(“one”, “two”, “three”); this works
$choices = get_tags(); // not working
// loop through array and add to field ‘choices’
if( is_array($choices) ) {
foreach( $choices as $choice ) {
$field[‘choices’][ $choice ] = $choice;
}
}
// return the field
return $field;
}
add_filter(‘acf/load_field/name=tag1’, ‘acf_load_tag_field_choices’);
get_tags() returns an array of term objects
$tags = get_tags();
foreach ($tags as $tag) {
$choices[$tag->term_id] = $tag->name;
}