Support

Account

Home Forums General Issues How to query posts by value of Select field?

Solved

How to query posts by value of Select field?

  • I’m quite new to ACF…sorry for my ignorance!

    I’m trying to write a query to display only posts where the field “Type” contains a certain value in a Select field.

    I’ve tried this:

    $args = array(
      'meta_key'   => 'type', 
      'meta_value' => 'Small'
    );

    But it doesn’t work. What am I missing?

  • Does the select field allow multiple selections?

    If it does then you need to do a “LIKE” query.
    'meta_compare' => 'LIKE'

  • No, single selection only.

  • Is it a sub field of a group, flex or repeater field?

  • Nope, just one of two fields for my CPT at this time.

  • what is the value settings for the field?

  • By value settings, I assume you mean “what’s in the Choices” field?

  • There is no choice value of “Small”, so your query should not return any posts.

  • Yeah I know…I just used “small” in my example. My actual code I’m using is

    $args = array(
      'meta_key'   => 'type', 
      'meta_value' => 'Litigation'
    );
  • What does the rest of your query look like. I don’t see any reason that this should not be working.

    Did the field originally allow multiple selections and then changed to only allow 1?

  • Thanks for your help John…just hearing that what I had should work in theory was what I needed to look elsewhere. I realized that I was missing the specification of what type of posts to query, like

    $args = array(
      'post_type' => 'service',
      'meta_key'   => 'type', 
      'meta_value' => 'Litigation'
    );

    Which works perfectly now. Cheers!

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

You must be logged in to reply to this topic.