2014-10-29 39 views
0

我有這樣的代碼,WordPress的:在GET POST錯誤由met_key

$type = get_the_ID(); 
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
    $units3 = new wp_query(array( 'post_type' => 'units' , 
            'posts_per_page'=> 6 , 
            'paged' => $paged , 
            'meta_key' => 'unittype', 
            'meta_value' => $type)); 
    while ($units3->have_posts()) : $units3->the_post(); 

它必須讓我從unit所有的職位,是在單位類型id = $type 但查詢是讓我所有的文章。

它必須得到我只能從後單位類型的所有職位,在單元式柱式,

哪裏是錯誤

+0

您是否嘗試過使用'get_posts()'或'新WP_Query',而不是'新wp_query'。我認爲你在這裏有一個寫作問題。 有關http://codex.wordpress.org/Template_Tags/get_posts或http://codex.wordpress.org/Class_Reference/WP_Query的更多信息。 你也確定get_the_ID()方法是適合你的$類型變量 – pbaldauf 2014-10-29 20:34:03

+0

尼斯:)但如何檢查是否有帖子? – 2014-10-29 20:43:08

+0

你可以寫'var_dump($ units3);'所以你可以看到你的查詢是否返回任何帖子。順便說一句,'新的wp_query'在Wordpress中不存在。 – pbaldauf 2014-10-29 20:46:24

回答

0

Meta鍵是爲了參數使用meta_value_num,

您需要使用meta_query爲第一查詢具體的元數據

測試您的查詢,直到你得到正確的數據

$data = query_posts(array(
       'post_type' => 'your_custom_post_type', 
       'orderby' => 'meta_value_num', 
       'meta_key' => 'your_order_meta_key', 
       'posts_per_page'=> 5, 
       'meta_query' => array(
        array(
         'key'  => 'key_to_only_display_if_exist', 
         'value' => array(3, 4), 
         'compare' => 'IN', 
         ) 
        ) 
       ) 
      ); 
var_dump($data); 

然後用query_post

query_posts(array(
       'post_type' => 'your_custom_post_type', 
       'orderby' => 'meta_value_num', 
       'meta_key' => 'your_order_meta_key', 
       'posts_per_page'=> 5, 
       'meta_query' => array(
        array(
         'key'  => 'key_to_only_display_if_exist', 
         'value' => array(3, 4), 
         'compare' => 'IN', 
         ) 
        ) 
       ) 
      ); 
     if (have_posts()) : 
      while (have_posts()) : the_post(); 
       echo '<div class="post-entry">'; 
       echo '<h2><a href="'.get_the_permalink().'">' . get_the_title() . '</a></h2>'; 
       echo '<div class="entry-content">'. apply_filters('the_content',get_the_content('Read More')).'</div>'; 
       echo '</div>'; 
      endwhile; 
     endif; 
wp_reset_query();