2016-04-29 40 views
0

我在Wordpress的taxonomy.php模板中遇到以下代碼存在一些問題。該查詢正在工作(即僅從該自定義分類中抽取帖子),但它只顯示2個帖子(4個在分類中)。WordPress的taxonomy.php循環只顯示2個帖子?

我所有使用$ args將其轉換爲標準循環的努力只會導致來自所有分類法的帖子被拉入頁面。我希望它可以像添加posts_per_page => -1一樣簡單,但這隻會導致整個站點中的每個帖子都顯示出來。

正如我從codex中瞭解到的,分類標準頁面應該默認提取相關帖子,而不需要循環?

任何幫助非常感謝!

taxonomy.php

<?php get_header(); ?> 

<main>  
<?php if (have_posts()) : ?> 
<?php while (have_posts()) : the_post(); ?> 
     <figure> 
      <?php if (has_post_thumbnail()) { 
        the_post_thumbnail(); 
      } ?> 
      <figcaption> 
       <h4><?php the_title(); ?></h4> 
       <h5><?php the_excerpt(); ?></h5> 
      </figcaption> 
     </figure> 
<?php endwhile; ?> 
<?php endif; ?> 
</main> 

<?php get_footer(); ?> 

UPDATE

<main> 

<?php 
$args = array(
    'posts_per_page' => -1 
); 

$the_query = new WP_Query($args); ?> 

<?php if ($the_query->have_posts()) : ?> 
<?php while ($the_query->have_posts()) : $the_query->the_post(); ?> 
    <figure> 
      <?php if (has_post_thumbnail()) { 
        the_post_thumbnail(); 
      } ?> 
      <figcaption> 
       <h4><?php the_title(); ?></h4> 
       <h5><?php the_excerpt(); ?></h5> 
      </figcaption> 
     </figure> 
<?php endwhile; ?> 
<?php endif; ?> 
</main> 

<?php get_footer(); ?> 
+0

你會提供您的自定義分類的名字,這樣我可以爲您提供的代碼,以顯示正確的職位有關該分類? – laraib

+0

嗨@laraib,我實際上有6個分類法,每個都有多個'術語'。當用戶通過點擊「期限」從索引頁面點擊時使用分類頁面 - 然後應該在該期限內顯示x個帖子的形式。合理?我的6個分類標準是:'主題','地點','日期','受訪者','時期'和'a-z'。謝謝 –

回答

2

如果你有6個不同的分類,然後將有6個不同的模板文件,以顯示正確的分類。在你的情況你的模板將是taxonomy-topics.phptaxonomy-places.phptaxonomy-dates.phptaxonomy-interviewee.phptaxonomy-period.phptaxonomy-a-z.php

這樣一旦這些模板創建您的模板會呈現出相應的職位。爲了實現這一目標,您可以使用posts_per_page參數,也可以對獲取的帖子WP_Query Codex Page希望訪問此頁面爲更好地瞭解現在有道理

+0

你好@laraib。但是,謝謝你的回答,我無法得到這個工作。我已經創建了taxonomy-places.php來測試,並且我用更新後的一段代碼更新了問題,這些代碼添加了posts_per_page參數,但是我又一次在網站中留下了每篇文章? –

+0

嗯,我剛剛意識到,只有2個帖子顯示的原因是因爲我在設置>閱讀中設置了「博客頁面最多顯示」設置爲2.這是因爲我希望將其應用於網站的另一部分。這是否可以過度? –

+0

很高興聽到您的問題已經解決。是的,你可以,但默認情況下,它需要你的主循環...你可以使用WP_Query在你的分類法中獲得你的帖子,所以這些不會影響你在其他頁面的設置,並且確保你在使用後重置你的循環。 – laraib