簡體   English   中英

在頁面模板中按類別獲取自定義帖子類型

[英]Get custom post type by category in a page template

我已經創建了一個包含類別和子類別的自定義帖子類型,我需要做的是在頁面模板中列出給定子類別或類別的帖子標題和圖像。

我已經獲得了自定義帖子類型中列出的所有項目,但我不確定如何進一步 go ......任何幫助表示贊賞。

<?php 
$args = array( 'post_type' => 'portfolio', 'posts_per_page' => 10 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
the_title();
echo '<div class="entry-content">';
the_content();
echo '</div>';
endwhile;
?>

我認為下面的代碼可能不起作用,因為它使用了一個已棄用的參數(我認為caller_get_posts 在 3.1 中已棄用)

認為以下應該解決問題:

$loop = new WP_Query( array( 
    'post_type' => 'portfolio', 
    'cat' => 5, // Whatever the category ID is for your aerial category
    'posts_per_page' => 10,
    'orderby' => 'date', // Purely optional - just for some ordering
    'order' => 'DESC' // Ditto
) );

while ( $loop->have_posts() ) : $loop->the_post(); ?>

還要考慮幾件事(對不起,如果這涉及到“明顯”的領域:):

1)您的自定義帖子類型是否已注冊為使用內置類別,還是它正在使用的自定義分類法? 如果是前者,那么上面應該工作,如果是后者,那么你需要使用 'your-taxonomy-name'=>'your-taxonomy-term' 代替 cat=>5 參數

http://codex.wordpress.org/Class_Reference/WP_Query#Parameters

2)頁面上是否有任何其他循環運行? 如果是這樣,他們將需要

<?php wp_reset_query(); ?>

在它們之后,以便后續循環正常工作

http://codex.wordpress.org/Function_Reference/wp_reset_query

這應該有效:

$cat_id = get_cat_ID('My Category'); //the categories name
$args=array(
  'cat' => $cat_id,
  'post_type' => 'portfolio',
  'post_status' => 'publish',
  'posts_per_page' => -1,
  'caller_get_posts'=> 1
);
$new = new WP_Query($args);

暫無
暫無

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

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