UPDATE: For anyone else who encounters this…
It turns out, the first option DOES work. You can pass an array to a meta_value. HOWEVER, the operator ‘=’ does not work. Changing the compare to ‘IN’ works for my scenario. Final code:
$people_array = array(73227,970674,17293);
$args = array(
'taxonomy' => 'people',
'meta_query' => array(
array(
'key' => 'person_id',
'value' => $people_array,
'compare' => 'IN'
),
)
);
$people = get_terms( $args );
Oh wait, scratch that. I had my meta_key and meta_value switched around. This gets me very close to a solution:
function my_relationship_query_add_slug( $args, $field, $object ) {
$slug = get_field('tvi_slug', $object->ID);
$args['meta_key'] = $slug;
$args['meta_value'] = 'THING HERE';
return $args;
}
add_filter('acf/fields/relationship/query', 'my_relationship_query_add_slug', 10, 3);
But “THING HERE” is what the user is entering (searching for). How do I capture that?
Oh thanks, yeah, I need the return. But this still doesn’t quite solve it…
You added a meta_key, but that’s what the user is searching for. (Again, this in the admin. The user is trying to add a post in ACF Relationship by searching for a _slug.)