I’ve done some more testing and it seems that it all hangs on this:
foreach ($ads as $ad) {
// get ad_zones values from the ad
$advalues = get_field('ad_zones', $ad->ID);
}
As soon as I try to get_field()
inside my loop, it times out. I also tried using WP_Query instead of get_posts, with the same result. There are 2 posts that are being looped through so it definitely shouldn’t do this…
However, if I test it outside of the acf/load_field filter (getting the posts and their custom fields values and comparing them against all choices) – it works fine. It only times out when put inside the filter function.
This is why I initially put it outside of the filter function – it’s queueing the same field as the filter is loading (ad_zones is the field I’m trying to filter).
Still getting the same result, both with just using $field['choices'] = $result;
and the foreach loop:
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 262144 bytes) in (…)/wp-includes/class-wp-query.php on line 889
First off – sorry, I accidentally marked this as solved and apparently there’s no way to unmark it? Still not solved for me, apologies!
When I put the first 3 lines I posted inside of my function, it turns the whole function into an unending loop and the custom fields don’t load on my page at all.
Let me know if I can make myself clearer – I know this problem is a bit confusing.