2014-10-29 29 views
5

我有使用簡單的內容類型插件&創建郵政類型在WP電話食譜。我還在其中添加了一個分類標準類別&創建了Starter,Drinks等4個類別。如何在WordPress查詢中獲取分類分類的所有記錄?

現在在WP查詢中,我需要獲取起始者的所有記錄。 那我該怎麼做?

我正在使用此查詢,但它不起作用。這是給食譜後型 這裏的所有記錄是查詢

$recipes = query_posts('post_type=recipes&taxonomy=recipescategory&category_name=Starters'); 

回答

5

您的代碼中存在很多錯誤,並且對類別有誤解。

  • 切勿使用query_posts構建自定義查詢

注:並不意味着該功能通過插件或主題中使用。正如後面所解釋的,改變主查詢有更好,更高性能的選項。 query_posts()過於簡單並且存在問題,通過用查詢的新實例替換頁面的主查詢來修改主查詢。這是一種低效(重新運行SQL查詢)和(與崗位分頁打交道時尤其常見)在某些情況下會徹底失敗

  • 如果你運行一個自定義查詢,使WP_Queryget_posts使用

  • category_name採取類別不是名字。參數的名稱是騙人的

  • 屬於自定義分類的「類別」稱爲術語。我寫了一篇文章,其中我也包含在codex中,您可以檢查here,它描述了區別。

  • 要從定製分類中檢索帖子,您需要使用tax_query。類別參數不會在這裏工作

與所有上面說,創建您的查詢,以便它看起來像這樣

$args = array(
    'post_type' => 'recipes', 
    'tax_query' => array(
     array(
      'taxonomy' => 'recipescategory', 
      'field' => 'name', 
      'terms' => 'Starters', 
     ), 
    ), 
); 
$query = new WP_Query($args); 
if($query->have_posts()){ 
    while($query->have_posts()) { 
     $query->the_post(); 

     //Your loop elements 

    } 
    wp_reset_postdata(); 
} 
+0

感謝您的寶貴建議!祝你有個美好的一天 – 2014-11-15 09:44:31

+0

沒問題,我對你的其他問題留下了一個評論,試試這個問題給出的代碼。如果你沒有對,請留下評論 – 2014-11-15 09:45:42

0

您可以使用get_posts功能

$args = array("post_type"=>"recipes","category_name"=>"starter","posts_per_page"=>20); 
$starters = get_posts($args); 
+0

它不工作 – 2014-10-29 10:34:43

+0

你傳遞正確的散熱片實現post_type和CATEGORY_NAME?嘗試類別而不是category_name。您需要傳遞類別ID。 – Gopi 2014-10-29 10:41:06

+0

我已經完成了所有那些由您指導的事情,並且還使用category而不是category_name,但它仍然不起作用 – 2014-10-29 10:53:34

1

嘗試

$ar = array (
     'post_type'=>'recipes', 
     'taxonomy'=>'recipescategory', 
     'category_name'=>'Starters' 
    );  
    $posts = get_posts($ar); 

** foreach循環**

foreach($posts as $p){ ?> 
      <div class="sub_cont">  
       <div class="sub_img"> 

       <?php $url = wp_get_attachment_url(get_post_thumbnail_id($p->ID));?>  
       <a href="<?php echo $permalink = get_permalink($p->ID); ?>"><img src="<?php echo $url; ?>" longdesc="URL_2" alt="Text_2" /> </a> 

      </div> 
      <div class="desc_title"> 
       <a href="<?php echo $permalink = get_permalink($p->ID); ?>"> 
        <?php echo $post_title=$p->post_title; ?> 
       </a> 
      </div> 
      <div class="cont_add"></div>   
     </div> 
    <?php } ?> 
相關問題