For some reason. I do not have the ability to query by meta_key when I run a loop. What could cause this and what can I do to the diagnose the problem? I am using wordpress 3.4.1.

$args = array( 'meta_key' => 'slideshow_image');

$query = new WP_Query($args);
  • 2
    You've specified the meta_key, but what are you trying to actually search for? If you're trying to return any post which has that meta_key in use, try adding these keys to your $args array: 'value' => array(''), 'compare' => 'NOT IN' – dunc Jul 19 '12 at 20:30

Thanks for @dunc and @helgatheviking I got the answer. Here's my code. You need the post type declared, otherwise it resorts to "post". I also couldn't do this unless I put meta_key and meta_value in a 'meta_query' multidimensional array.

$args = array(
         'post_type'    => 'tsa_events',
         'meta_query'   => array(
               'key'          => 'slideshow_image',
               'value'    => array(''),
               'compare'  => 'NOT IN'


EDIT: you can also structure your query this way:

$args = array(
         'post_type'     => 'tsa_events',
         'meta_key'      => 'slideshow_image',
         'meta_value'    => array(''),
         'meta_compare'  => 'NOT IN'

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.