2015-09-08 51 views
1

所以我試圖過濾一個自定義後期類型,一個我創建它的post_id(154),這是我的查詢,但它沒有工作(查詢下面)。Query_Posts不起作用如果Post_type不是Post

query_posts('q=154') //query_posts(array('post_id'=>154)) 
if(have_posts()){ the_post(); 
    $ar = types_render_field('job_posts', array('output'=>'html')); 
    echo $ar; 
} 

然後我想這..它仍然拒絕工作(codebelow)

resetAll(); 
$q = new WP_Query(array('post_id' => 154)); 
if($q->have_posts()): $q->the_post(); 

    echo '<b>the title is<b> ' ; //. $q->the_title(); 
    $ar = types_render_field('job_posts', array('output'=>'html')); 
        echo $ar; 

endif; 

,這是我的工作,其最終的答案(下面的代碼)...但它周圍的工作,因爲我必須通過所有可用的結果循環和過濾只是所需的後與所需的ID,這完全是壞...

resetAll(); 
      query_posts(array('post_type' => 'vacancy')); 

      if(have_posts()): 
       while(have_posts()): the_post(); 

       if(get_the_id() == '154'): 
        ///echo '<b>the title is </b>' .get_the_title() .'//'. get_the_id();    
        $ar = types_render_field('job_posts', array('output'=>'html')); 
        echo $ar; 
       endif; 

       endwhile;  
      endif; 

我覺得那是一個錯誤怎麼把我花費無數個小時在此行.. ..否則,如果任何人有一個替代本人想知道的......謝謝。

+0

您是否嘗試過只用'get_post( $ ID)'? '''$ post = get_post(154); echo $ post-> post_title; ''' – lordthorzonus

+0

你真的應該[避免使用query_posts](http://wordpress.stackexchange.com/questions/1753/when-should-you-use-wp-query-vs-query-posts-vs-get -posts)。 – vard

+0

有趣...我通常會更喜歡使用WP_Query($ args),但我還沒有得到正確的方式來實現這一點,因爲在後臺他們都運行$ wpdb範圍...我會嘗試你的現在並看到,但記得我試圖訪問一個自定義職位類型,哪些路由到types_api插件。 – Andaeiii

回答

-1

請嘗試使用wp_reset_query()。請點擊鏈接。

+0

對不起,你離它很遠.. – Andaeiii

+0

我有一個方法resetAll();它位於我的functions.php文件中,它調用wp_reset_postdata()和wp_reset_query()...所以你會知道的。 – Andaeiii

0

不知道你爲什麼決定使用query_posts()

您可以使用WP_Query類或只有get_post()(如註釋中所述)。您可以使用它像這樣:

$desiredPostQuery = new WP_Query(array(p=154, 'post_type=vacancy')); 
$desiredPost = $desiredPostQuery->get_posts(); 

另一種方法是使用get_post():在食品

$desiredPost = get_post(154);

參考: get_postWP_Query

+0

是的..我大部分時間使用WP_Query,但記得我必須從wp-types api插件中調用types_render_field(),它假定ID已設置,因爲它有權訪問當前$ post對象,get_post ()不會創建一個範圍,因爲它只是請求一個ID .. – Andaeiii