2012-05-10 101 views
4

我使用WP_Query退出一些像这样的自定义信息:排除空meta_key值导致

$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' => '!=', 

但是这没有帮助。有任何想法吗?

谢谢,本

回答

15

好的...这是解决方案。似乎甚至显然是空的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);