You are here:  Home » PHP » 如何在一个页面上显示所有WordPress帖子

您想在一个页面显示所有WordPress帖子吗?最近,我们的一位读者希望创建一个档案页面,并在一个页面上显示所有WordPress帖子。在本文中,我们将向您展示如何在没有分页的情况下在一个页面上显示所有WordPress帖子。

Show all WordPress posts on one page

为什么以及何时在一个页面上显示所有帖子?

WordPress附带了每个类别,标签,作者和日期的内置存档页面。

许多网站所有者但是更喜欢为其网站创建自定义存档页面。档案页面通常会突出显示其热门帖子,显示基于日期的精简档案,列表类别或显示标签云等。以WPBeginner的档案页面为例。

有些博客更喜欢在一个页面上显示所有WordPress帖子的列表。

视频教程

订阅WPBeginner

如果你不喜欢不喜欢视频教程或想按照自己的进度移动,然后继续阅读下面的说明。

在一个页面上显示所有WordPress帖子

有许多不同的方法可以在一个页面上显示所有WordPress帖子。您可以使用短代码在页面上显示帖子,您可以使用插件在页面上显示帖子,最后您可以使用自定义模板和循环显示页面上的所有帖子。

我们将覆盖所有三个方法1:使用显示帖子短代码插件

首先,您需要做的是安装并激活Display Posts Shortcode插件。有关更多详细信息,请参阅有关如何安装WordPress插件的分步指南。

此插件开箱即用,并且没有可供您配置的设置

继续创建新页面并将其命名为Archives或任何其他标题。之后,您需要在页面中粘贴以下短代码。

此短代码将按时间顺序显示所有帖子标题的列表。它设置为每页显示最多1000个帖子。

[display-posts posts_per_page="1000" order="DESC"]

此短代码将按时间顺序显示所有帖子标题列表。它设置为每页显示最多1000个帖子。

如果你有超过一千个帖子,那么你可以改变它。您还可以将帖子顺序更改为ASC,它将按相反的时间顺序显示帖子(首先是较旧的帖子)。

List all posts in WordPress

虽然您可以使用显示帖子短代码来显示摘录,缩略图和其他相关信息,但我们不建议您这样做。当您在一个页面上列出所有帖子时,此页面将很长,并且您希望确保它简单快速。只显示帖子标题就足够了这种风格的档案页面。

如果你想根据类别或其他参数在页面上显示帖子,你可以按照文档页面上的详细使用说明进行操作。

方法2:使用简单的年度存档插件

在单个页面上显示所有WordPress帖子可能会使其滚动太长。您可以通过显示每年的列表来解决这个问题。然后,用户可以单击一年来展开它,并查看当年发布的帖子。

您需要做的第一件事是安装并激活Simple Yearly Archive插件。

激活后,您需要转到 Settings»Simple Yearly Archive 页面来配置插件设置。

Simple yearly archive settings

该插件允许您以各种方式显示帖子列表。您可以在年度档案的链接下显示所有内容,也可以在可折叠年份下显示它们。

如果要在可折叠年份下显示它们,则需要添加< div>和< / div>选项’之前/之后(年份标题)’旁边。

其他插件选项非常明显。您可以根据需要进行设置。

不要忘记单击保存更改按钮来存储您的设置。

现在要在页面上显示所有帖子,您只需要将 [SimpleYearlyArchive] shortcode添加到您选择的页面。

Collapsible yearly archives showing all posts in WordPress

该插件提供了一系列可与短代码一起使用的参数。您可以在插件的文档页面上查看参数。

方法3:使用模板代码%%%%%在一个页面中显示所有WordPress帖子虽然使用插件在一个页面中显示所有帖子是最简单的方法,有些人可能想学习如何使用页面模板代码。

首先,您需要创建一个自定义页面模板并从page.php文件中复制样式。

之后,您将使用下面的循环来在一个页面中显示所有帖子。

如果上面的代码说明没有意义,我们建议您使用方法1.

<?php 
// the query
$wpb_all_query = new WP_Query(array("post_type"=>"post", "post_status"=>"publish", "posts_per_page"=>-1)); ?>

<?php if ( $wpb_all_query->have_posts() ) : ?>

<ul>

	<!-- the loop -->
	<?php while ( $wpb_all_query->have_posts() ) : $wpb_all_query->the_post(); ?>
		<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
	<?php endwhile; ?>
	<!-- end of the loop -->

</ul>

	<?php wp_reset_postdata(); ?>

<?php else : ?>
	<p><?php _e( "Sorry, no posts matched your criteria." ); ?></p>
<?php endif; ?>

我们希望本文能帮助您显示所有WordPress帖子一页。您可能还希望看到有关8种经过验证的方法的指南,以便在WordPress中推广旧帖子。

我们希望本文能帮助您在一个页面上显示所有WordPress帖子。您可能还希望看到有关8种经过验证的方法的指南,以便在WordPress中推广旧帖子。