排除WP_Query结果中的空meta_key值

时间:2012-05-10 10:11:56

标签: wordpress custom-post-type

我正在使用WP_Query来提取一些这样的自定义帖子:

$params = array(            
        'post_type' => 'portfolio',
        'post_status' => 'publish',
        'posts_per_page' => 10,
        'meta_key' => 'slideorder',
        'orderby' => 'meta_value',
        'order' => 'ASC'
        'ignore_sticky_posts' => 1,
    );
$slport_query = new WP_Query($params);

我面临的问题是,即使'slideorder'(字符串)为空,它也会包含在结果中。我怎样才能检索“meta_value”中至少有一个字符的帖子?

我试图添加:

'meta_value' => '',
'meta_compare' => '!=',

但这没有帮助。有什么想法吗?

谢谢,Ben

1 个答案:

答案 0 :(得分:16)

好的......这是解决方案。似乎即使是显而易见的空meta_values也有或返回一个空格。所以这有效:

$params = array(
    'post_type' => 'portfolio',
    'post_status' => 'publish',
    'posts_per_page' => 10,
    'meta_key' => 'slideorder',
    'meta_value' => ' ',
    'meta_compare' => '!=',
    'ignore_sticky_posts' => 1,
    'orderby' => 'meta_value',
    'order' => 'ASC'
);
$slport_query = new WP_Query($params);