We have confirmed this is definitely an issue on the Cwicly side, the ACF fields work perfectly using custom code - we have had to drop in code blocks as a workaround.
@Louis, here is our working code for both relationship fields and repeater fields:
Relationship fields:
<?php
add_filter( 'cwicly/query/args', function( $query_args, $attributes, $id ) {
if ($id === 'query-c6041ea') {
$term = get_queried_object();
$partners = get_field("commercial_partners", $term);
$query_args['post__in'] = $partners;
}
return $query_args;
}, 10, 3 );
?>
Repeater fields:
<div class="metrics post-grid">
<?php
$term = get_queried_object();
$stats = get_field( 'stats', $term);
if ( $stats ) {
foreach ( $stats as $stat ) {
$stat_title = $stat['title'];
$stat_content = $stat['content'];
?>
<div class="featured-metric post-content">
<h2><?php echo $stat_title; ?></h3>
<p><?php echo $stat_content; ?></p>
</div>
<?php
}
}
?>
</div>
For the repeaters, I am guessing that as there is no way to set the taxonomy archive as the location, Cwicly is not automatically detecting that the current context is a taxonomy archive and passing the term as the second parameter.
Regarding the relationship query, I think it is probably the same issue - there is no way to specify the current taxonomy archive as the location in the “Posts In”:
Finally, this same issue also affects visibility conditions, we have had to use a custom function for this also, instead of being able to use the built-in ACF field features:
function service_has_stats() {
$has_stats = false;
$term = get_queried_object();
$stats = get_field( 'stats', $term);
if ( $stats ) {
$has_stats = count($stats) > 0;
}
return $has_stats;
}