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

问题描述 投票:0回答:3

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

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

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

php wordpress wordpress-theming
3个回答
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


0
投票

您可以从后端更改每页的帖子数。设置->阅读。您可以在那里更改它:“博客页面最多显示”。


0
投票

只需将其添加到您的论点中

'posts_per_page' => -1

然后你就完成了。

还有一件事:您可以将默认设置从 admin 更改为 10 以外的值。转到 WordPress 管理员 - 设置 - 阅读。有一个选项,例如“最多显示博客页面”。在此处输入您想要的默认帖子数量。

它将更改所有页面的设置,但如果您只想对标签页面进行此更改,那么在您的情况下,您可以更改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();?>
© www.soinside.com 2019 - 2024. All rights reserved.