Support

Account

Home Forums General Issues Filter Relationship Field Query

Solved

Filter Relationship Field Query

  • Hello everyone, I need to filter a relationship field by post object, I want the relationship field to show the posts that have the same id of post object field with the current post, I tried this code, but it’s not working. Can anyone tell me what’s wrong with this code?

    function my_relationship_query( $args, $field, $post_id ) {
    	
    	$ntry = the_field('manga_title');
    	$args['meta_query'] = array(array(
    		'key' => 'manga_title',
    		'value' => $ntry,
    		'compare' => '=',));
    	$args['meta_key'] = 'chapter_num';
    	$args['post_status'] = 'publish';
    	$args['orderby'] = 'meta_value';
        $args['order'] = 'DESC';
    	
    	// return
        return $args;
    }
    	add_filter('acf/fields/relationship/query/name=chapterslist', 'my_relationship_query', 10, 3);
  • What you’re trying to do is not clear. Can you give a better explanation?

  • I have a two post types, the first one is ‘chapters’, and the second id ‘novel’. in the’post’ post type I have a post object field that displays the novels of ‘novel’ post type. and I have a relationship field in the ‘chapters’ post type, and I want to filter the results of relationship field to display the chapters that have the same novel in post object field. I hope I explained my problem good.

  • There isn’t anything that will allow you to filter a relationship field based on a selection made in another field. The value of the other field is not available for the acf/fields/relationship/query/ filter, it is not supplied by ACF when it runs the AJAX request to get the posts.

    There are a couple of possibilities.

    1) is that you must save the post before you can filter based on this other field. Then in your filter that you posted above

    
    'value' => get_field('filter_field_name', $post_id)
    

    2) Do not use a relationship field and switch to a select field and add custom JavaScript and your own AJAX query to get the posts. There are some examples of this here https://github.com/Hube2/acf-dynamic-ajax-select-example

  • Thank you! That was very useful.

Viewing 5 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic.

We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Cookie Policy. If you continue to use this site, you consent to our use of cookies.