Archive by Year

时间:2012-03-19 作者:Chris

经过一些搜索,我一直无法找到我试图存档的内容的答案。

我正在尝试设置一个带有手风琴面板的归档页面,该页面可以隐藏/显示给定年份的帖子以及链接。

那么,我如何显示一整年的帖子,而不仅仅是一年的链接?

示例:

2012年

职位

下一个职位

另一个职位

==============

2011年

职位

下一个职位

另一个职位

2 个回复
SO网友:Ryan

这个Simple Yearly Archive Plugin 就是这样。

此代码也可以实现以下功能:

<?php
// get years that have posts
$years = $wpdb->get_results( "SELECT YEAR(post_date) AS year FROM wp_posts WHERE post_type = \'post\' AND post_status = \'publish\' GROUP BY year DESC" );

foreach ( $years as $year ) {
    // get posts for each year
    $posts_this_year = $wpdb->get_results( "SELECT post_title FROM wp_posts WHERE post_type = \'post\' AND post_status = \'publish\' AND YEAR(post_date) = \'" . $year->year . "\'" );

    echo \'<h2>\' . $year->year . \'</h2><ul>\';
    foreach ( $posts_this_year as $post ) {
        echo \'<li>\' . $post->post_title . \'</li>\';
    }
    echo \'</ul>\';
}
?>  
这可能有优化的空间,但我已经测试过了,它是有效的。

SO网友:byronyasgur

我认为可能有不止一种方法可以做到这一点,但如果您在执行循环之前还不知道如何调整查询,那么您可能需要仔细阅读它,因为如果不使用它,我看不出您将如何做到这一点。Here 这是一个很好的开始。

如果你需要的话reset the query

结束

相关推荐

显示Archives.php中的所有自定义帖子类型

我该怎么做?archive.php 只有以下内容:wp_get_archives(\'type=monthly\'); 以及wp_get_archives() 没有显示所有帖子类型的参数。我也认为archive-[post_type].php 不是我要找的,因为我希望所有帖子类型都显示在一个归档页面中。谢谢W