如何自定义wp_get_archives();使用Wordpress档案

时间:2010-11-22 23:16:01

标签: wordpress archive

我想自定义我的档案以按月排序,但如果是在上一年将自己分组为年度类别。现在我有:

<ul><?php wp_get_archives('type=postbypost&limit=10'); ?></ul>

这显示了最后10个帖子。我知道以下内容将按月排序:

<ul><?php wp_get_archives('type=monthly'); ?></ul>

但是,当月份不到12个月时,如何按年份排序呢?我希望它看起来如下:

  • 2010年3月
  • 2010年2月
  • 2010年1月
  • 2009

提前致谢。

1 个答案:

答案 0 :(得分:2)

我不知道是否有内置的方法来执行此操作,我会使用具有自定义查询的函数,如下所示:

  SELECT COUNT(ID) posts, YEAR(post_date) y, MONTH(post_date) m 
    FROM $wpdb->posts 
   WHERE post_status = 'publish'
GROUP BY y, m
  HAVING y = YEAR(NOW())
UNION
  SELECT COUNT(ID), YEAR(post_date) y, 0
    FROM $wpdb->posts
   WHERE post_status = 'publish'
GROUP BY y
  HAVING y < YEAR(NOW())
ORDER BY y DESC, m DESC;

然后使用链接和所有内容格式化结果。