2016-04-29 41 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