2012-05-10 89 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);