簡體   English   中英

如何在WordPress查詢中獲取分類法類別的所有記錄?

[英]How can I get all records of taxonomy category in WordPress Query?

我在WP調用食譜中使用了簡單的內容類型插件和創建的Post類型。 我還在其中添加了分類法類別並創建了4個類別,如Starter,Drinks等。

現在在WP查詢中我需要獲取啟動器的所有記錄。 那我該怎么辦呢?

我正在使用此查詢,但它無法正常工作。 它給出了食譜的所有記錄類型這里是查詢

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

您的代碼中存在大量錯誤,並且對類別存在誤解。

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

注意:此函數不適用於插件或主題。 如后面所述,有更好的,更高性能的選項來改變主查詢。 query_posts()是一種過於簡單化和有問題的方法來修改頁面的主要查詢,方法是用新的查詢實例替換它。 它是低效的(重新運行SQL查詢)並且在某些情況下會徹底失敗(特別是在處理帖子分頁時)

  • 如果必須運行自定義查詢,請使用WP_Queryget_posts

  • category_name采用類別slug而不是名稱 參數的名稱是欺騙性的

  • 屬於自定義分類的“類別”稱為術語。 我寫了一篇帖子,我也把它包含在你可以在這里查看的codex中,它描述了差異。

  • 要從自定義分類中檢索帖子,您需要使用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();
}

試試吧

 $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 } ?>

你可以使用get_posts函數

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM