query_posts and only show results if a custom field is not empty

How do I query_posts and only show results if a custom field is not empty or has a value.

I want to put in a URL in a custom field and only show these pages if there is a URL?

current code but I can’t figure out the rest:

$args = array( 'posts_per_page' => '10', 
    'post_type' => 'programmes', 
    'orderby' => 'meta_value_num', 'meta_key' => 'popularityfig',
    'order'  => 'DESC',
    );

2 Answers
2

Try this code:

$args = array(
'posts_per_page' => '10',
'post_type' => 'programmes',
'meta_key' => 'popularityfig',
'meta_value' => '',
'meta_compare' => '!=',
'order' => 'DESC'
);

There’re 2 arguments you might want to note in the code: meta_value and meta_compare. Using meta_compare with operator != will exclude posts with empty meta value.

Leave a Comment