2013-02-13 73 views
0

我已經爲我的帖子創建了一個元框,它可以保存三個值0,1,2中的一個。使用選擇控件選擇該值。WordPress | WP_Query問題與meta_query

此外,我檢查我的數據庫記錄,元數據存儲在數據庫中,但我無法查詢元值。

我用它來查詢包含元值我的帖子的代碼如下:

$args    = array(
    'category__in'  => array(
     22 
    ), 
    'posts_per_page' => 1, 
    'meta_query'  => array(
     array(
      'key'   => 'postStatus', 
      'value'  => 1, 
      'compare'  => '=' 
     ) 
    ) 
); 

$extremely_important = new WP_Query($args); 

while($extremely_important->have_posts()) 
{ 
    $extremely_important->the_post(); 

    the_title(); 
} 

的excact問題,是從22類返回一個職位,但回報將最新的帖子,也就是沒有元值設爲1.

有什麼想法嗎?

以下是SQL插入statemts我postmeta表中的數據:

/* 
-- Query: SELECT * FROM wp_postmeta WHERE post_id = 187754 
LIMIT 0, 1000 

-- Date: 2013-02-14 09:50 
*/ 
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (16847,187754,'_edit_last','1'); 
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (16848,187754,'_TIP_protect_images_post','unchecked'); 
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (16849,187754,'_TIP_protect_text_post','unchecked'); 
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (16850,187754,'_thumbnail_id','166897'); 
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (16851,187754,'_fpp_is_scheduled',''); 
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (18502,187754,'_edit_lock','1360791749:1'); 
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (18503,187754,'post_status','extremely_important'); 
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (18504,187754,'postStatus','1'); 

回答

2

需要郵政類型聲明。 (每天學習新東西,post_type默認爲發佈)。那麼在你的陳述中,某件事看起來並不正確。你確定meta_key是'postStatus'。例如不在數組中?

$post_query = new WP_Query(array(
    'post_type' => '', 
    'posts_per_page' => 1, 
    'category__in' => array(22), 
    'meta_query' => array(
     array(
      'key' => 'postStatus', 
      'value' => 1 
     ) 
    ) 
)); 
1

你meta_query應該是這樣的:

'meta_query' => array(
     array(
      'key' => 'postStatus', 
      'value' => 1, 
      'compare' => '=', 
     ) 
    ) 

這裏給WP_Query類引用

+0

我已經有用戶了,但仍然是同樣的問題:(無論如何,感謝您的迴應:) – 2013-02-13 18:41:18

2

鏈接也許試試這個?

$args    = 

    array(
     'category__in'  => array(22), 
     'posts_per_page' => 1, 
     'meta_query'  => 
      array(
        'key'   => 'postStatus', 
        'value'  => '1', 
        'compare'  => '=', 
        'type'  => 'NUMERIC' 
       ) 
    );