簡體   English   中英

如何在WordPress中通過自定義分類獲取帖子?

[英]How to get posts by custom taxonomy in WordPress?

在WordPress中,我嘗試使用以下方式從自定義帖子類型“顏色”,自定義分類法“顏色名稱”獲取帖子:

注意:我有一個自定義帖子類型,顏色,帶有自定義帖子,標題為“珊瑚”,“牡丹”之類的東西。 我也有一個自定義分類法,顏色名稱。 通過保存顏色帖,可以創建該自定義分類法中的類別。 然后,可以將自定義帖子類型“顏色”標記為其他相關顏色。

$slug = str_replace(" ", "_", $page_title);
$slug = strtolower($slug);

//Slug is - 'coral', 'peony', etc.

$args = array( 'post_type' => 'color',
               'posts_per_page' => -1,
               'tax_query' => array( array (
                       'taxonomy' => 'color-name',
                       'field' => 'slug',
                       'terms' => $slug
                                   ) )
);
$myposts = query_posts( $args );

在Google搜尋后,我嘗試了許多變體,但沒有任何效果-我要么收到所有帖子,要么沒有帖子。 這是我嘗試過的args的另一個版本:(無帖子結果):

  $args = array('color-name' => $page_title,
                'post_type' => 'color',
                'post_status' => 'publish',
                'posts_per_page' => -1,
                'caller_get_posts'=> 1
               );

我之前為此作過角力,放棄了,只是進行了自定義sql調用。 誰能確切地知道如何通過WordPress函數使它正常工作?

我將使用WP_Query而不是query_posts() 例如:

$args = array(
    'post_type' => 'color',
    'tax_query' => array(
        array(
            'taxonomy' => 'color-name',
            'field' => 'slug',
            'terms' => $slug
        )
    )
);
$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        // Do something.
    }
} else {
    // No posts found.
}
wp_reset_postdata();

參考: http : //codex.wordpress.org/Class_Reference/WP_Query

暫無
暫無

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

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