在 Wordpress 中显示存档帖子

Posted

技术标签:

【中文标题】在 Wordpress 中显示存档帖子【英文标题】:Display archive posts in Wordpress 【发布时间】:2010-06-07 08:00:34 【问题描述】:

我希望将档案页面显示为普通的帖子页面...

因此,带有二级导航的帖子页面显示:

最新帖子/上个月/去年/旧

在每个页面上,我想显示每个帖子的摘要,就像标准的最新新闻页面一样。当您单击时,您会看到完整的帖子。

对于每个菜单项,我创建了单独的页面模板,例如archives_month.php,然后在模板中而不是使用<?php wp_get_archives 我一直在使用<?php query_posts 并添加了一些时间参数,但不幸的是我没有找到最好的/正确的方法来获得这些呢。

我有一个有效的脚本:

<?php if (have_posts()) : ?>
<?php $current_month = date('m');?>
<?php $current_year = date('Y');?>
<?php $current_year = $current_year - 24;?>
<?php query_posts("cat=5&year=$current_year&monthnum=$current_month");?>

对于上个月的页面。但我现在不能将它用于 LAST YEAR 和 OLDER 帖子。

谁能帮帮我?我已经研究了许多不同的方法来做到这一点,但在一些博客上并不清楚,大多数人只是检索档案列表而不是显示帖子。

提前致谢。 梅尔

【问题讨论】:

【参考方案1】:

您应该能够使用query_posts() 将某些内容放在一起,如here 所述。

来自链接页面的示例,用于构建查询以获取 2009 年 3 月的所有帖子:

<?php
//based on Austin Matzko's code from wp-hackers email list
  function filter_where($where = '') 
    //posts for March 1 to March 15, 2009
    $where .= " AND post_date >= '2009-03-01' AND post_date < '2009-03-16'";
    return $where;
  
add_filter('posts_where', 'filter_where');
query_posts($query_string);
?>

你会发现它很容易调整。

然后可以使用循环来完成输出:

// the Loop
while (have_posts()) : the_post(); 
  // the content of the post
  the_content('Read the full post »'); 
endwhile;

有关如何自定义 The Loop 中显示的内容(以显示您谈论的摘要)的更多信息,请参阅here。

【讨论】:

您好,感谢您的回复,但我看到了这一点并尝试实施它。我不确定这应该如何实现,因为我对 php 不太熟悉。我将所有这些代码放在我的archive_year.php 文件和循环中。你能告诉我一个例子,我需要把上面来自 Austin Matzko 的代码 sn-p 放在哪里吗?提前致谢!!梅尔 @missmonkee 我现在对 WP 模板的了解还不够深入,无法制作一个完整的示例,但您应该能够将第一个代码块放入任何使用循环的模板文件中 (while(have_posts()): .... ) 并且它应该将列表过滤到指定的时间段。 不幸的是,这似乎不起作用,我不知道我做错了什么。这让我疯狂!看看这里: = '2010-05-01' AND post_date 你能看出这有什么问题吗?我检查了我的管理员,我确实有那个时期的帖子,但没有出现错误消息。帮助!

以上是关于在 Wordpress 中显示存档帖子的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Wordpress 的存档页面上显示所有类别的帖子?

Wordpress 在自定义帖子类型存档页面上按日期排序

控制 wordpress 存档页面上的帖子数量

WordPress中的自定义博客存档页面

在 Wordpress Datewise 中为特定类别创建存档

填充不包括某些帖子类别的自定义 WordPress 帖子存档