如何编辑category.php模板,以便显示特定类别的所有帖子?

时间:2017-04-19 16:29:39

标签: wordpress wordpress-theming

我在category.php模板中有一个简单的wordpres类别post循环,如下所示:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); $postid = get_the_ID();?>

如何更改帖子限制?因为现在每个类别只有十个帖子。我为所有类别使用了一个模板。我是wordpres的新手,并尝试制作我的第一个自定义模板:)

3 个答案:

答案 0 :(得分:1)

要显示类别模板上的所有帖子,您已覆盖每个帖子的默认显示,即10.请参阅以下代码:

$args = array('posts_per_page' => -1);
$the_query = new WP_Query($args);

while ( $the_query->have_posts() ) {
    $the_query->the_post();
    /** Your code here **/
}

在模板上显示所有帖子不是一个好习惯,相反,我建议每页显示10个帖子并显示分页。

分页参考:https://codex.wordpress.org/Pagination

答案 1 :(得分:0)

您可以从后端更改每页发布的数量。设置 - &GT;读。你可以在那里更改它:&#34;博客页面最多显示&#34;。

答案 2 :(得分:0)

只需在你的论点中添加它

'posts_per_page' => -1

然后你就完成了。

还有一件事:您可以将默认设置从管理员更改为10以外的其他设置。转到WordPress管理员 - 设置 - 阅读。有一个选项,如&#34;博客页面最多显示&#34;。在那里键入您想要的帖子数量作为默认值。

它将更改所有页面的设置,但如果您只想对标记页面进行此更改,那么在您的情况下,您可以更改loop-tag.php文件中的代码,如下所示:

global $wp;
$s_array = array('posts_per_page' => -1); // Change to how many posts you want to display 
$new_query = array_merge( $s_array, (array)$wp->query_vars );
query_posts($new_query);
<?php
if ( have_posts() ) :  while ( have_posts() ) : the_post();  ?>
<!-- Here I grab the image from the post with that tag -->  
<?php endwhile;  ?>
<?php wp_reset_query();?>