Support

Account

Home Forums Add-ons Repeater Field Reverse query "relationship within repeater" Reply To: Reverse query "relationship within repeater"

  • I found this thread https://support.advancedcustomfields.com/forums/topic/reverse-query-relationship-subfield-which-is-nested-in-a-repeater-field/

    Here is the specific code that works for me, just in case seeing a specific helps anyone in the future

    
    <?php 
    // custom filter to replace '=' with 'LIKE'
    function my_posts_where( $where )
    {
    		$where = str_replace("meta_key = 'credits_%_credits__person'", "meta_key LIKE 'credits_%_credits__person'", $where);
     
    		return $where;
    }
     
    add_filter('posts_where', 'my_posts_where');
     
    // args
    $args = array(
    		'post_type' => 'work',
    		'meta_query' => array(
    				array(
    						'key' => 'credits_%_credits__person',
    						'value' => '"' . get_the_ID() . '"',
    						'compare' => 'LIKE'
    				)
    		)
    );
     
    // get results
    $the_query = new WP_Query( $args );
     
    // The Loop
    ?>
    <?php if( $the_query->have_posts() ): ?>
    		<ul>
    		<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    				<li>
    						<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    				</li>
    		<?php endwhile; ?>
    		</ul>
    <?php endif; ?>
     
    <?php wp_reset_query();  // Restore global post data stomped by the_post(). ?>