Home > Back-end >  Query custom posts filtered by ACF users id
Query custom posts filtered by ACF users id

Time:01-23

I have custom post type called journals and an ACF Users field called editors (return format User ID ).

While adding a new journal, you can select multiple users as Editors.

Now, I want to create a query to get all journals where the current user is assigned as editor.

I tried something like this:

$current_user = wp_get_current_user();

$args = array(  
  'post_type' => 'journals',
  'post_status' => 'publish',
  'meta_query' => array(
     array(
       'key' => 'editors',
       'value' => $current_user->ID, 
       'compare' => 'IN'
     )
   )
);

How can I achieve this?

CodePudding user response:

I used LIKE instead of IN as below -

$current_user = wp_get_current_user();

$args = array(  
    'post_type' => 'journals',
    'post_status' => 'publish',
    'meta_query' => array(
        array(
            'key' => 'editors',
            'value' => $current_user->ID,
            'compare' => 'LIKE'
        )
    )
);

This works for me.

CodePudding user response:

Sunday Lalbiaknia is correct. But on my end there is a slight modification on this since $current_user->ID is an integer, you can make it this way (take note of the semicolon):

$current_user = wp_get_current_user();

$args = array(  
    'post_type' => 'journals',
    'post_status' => 'publish',
    'meta_query' => array(
        array(
            'key' => 'editors',
            'value' => $current_user->ID . ';',
            'compare' => 'LIKE'
        )
    )
);
  •  Tags:  
  • Related