创建WordPress存档索引

1条评论

想单独创建一个页面,然后通过页面上几个简单的链接访问所有存档日志吗?自从WordPress 1.5引入主题功能后,WordPress用户就可以为自己的主题创建新的模板文件来定制日志的存档页面了。

也可能你只是想了解怎样使用WordPress默认主题Default自带的archives.php文件?

对这两个问题,这篇文章都给出了说明。文中介绍的方法也可以用于其它与WordPress主题相整合的页面,如链接页面,索引页面等。

创建存档索引的模板和页面

要在主题中新建一个独立的存档索引,你需要把索引设成页面的样式,并且为这个页面分配一个独立的模板。

模板(archives.php)

我们从主题文件夹下的archives.php模板文件说起。WordPress自带主题Default中就包含了这样一个模板文件,我们可以以它为出发点。

从学术上说,几乎可以用任何单词来命名模板文件archives.php(这里列出了一些不能用于模板文件名的词语;WordPress为一些文件规定了特定名称以显示文件的特定用途。)尽管如此,为模板使用标准化名称能够简化修改主题的过程,也便于将自己的主题和模板发布到WordPress社区。虽然通过任何一个通用模板(如index.php或category.php)与is_page函数都有可能建立起一个大型的存档索引页,但利用主题模块编辑模板会更加方便。

更多创建模板的信息请看模板标签,特别是其中的 wp_get_archives

存档页

WordPress 1.5以上版本

上传当前主题目录(wp-content/themes/themename/)下的archives.php文件。然后在管理界面中选择页面>添加新页面

1. 命名新存档页面,如日志档案。将页面内容留为空白。

在侧边栏中打开页面模板编辑框,选择存档模板。保存后就会看到页面列表中多出来一个新页面了!

定制自己的存档页

有很多方法可以设计存档索引页面。其中一些方法是利用插件或PHP代码生成自定义的存档日志列表,还有一些方法则会以更有趣的方式显示我们的存档页面。

例如,如果将以下代码复制到archive.php文件,页面上就会不显示分类ID为2的所有日志:

<?php
$query_posts($query_string . '&cat=-2');
?>

按年份进行索引

按年份为日志归档,如:

利用wp_get_archives模板标签按年份为日志归档:

<?php wp_get_archives('type=yearly'); ?>  

设置重定向

如果使用固定链接,WordPress就会为你的新页面生成一套新的重写规则。这时如果WordPress无法自动升级.htaccess文件,那么就需要你来手动升级.htaccess文件。点击使用永久链接了解更多信息。

这些自动生成的规则基于你的页面标题或“别名”:如果你的页面名为Archive Index,那么你可以通过 http://example.net/your-wordpress-dir/archive-index/访问。

自动生成的.htaccess文件可能带来的问题

如果存档索引页面的别名与固定链接中某部分相同——如页面标题为Archives,而固定链接为 /archives/%post-id%/ 或/archives/%year%/%monthnum%/%day%/%postname%/——WordPress会生成相互矛盾的重写规则。最终WordPress将通过存档索引模板显示你的月份/分类存档。

有两种方法可以避免这一问题:

1. 重新命名存档索引页

2. 不允许WordPress自动管理你的.htaccess文件

延伸阅读

实用插件

  • WordPress Heat Map —— 根据各个分类下日志数量的多少,用不同字号或颜色显示分类存档链接
  • DC's Nicer Archives —— 所生成的存档列表可由项目符号列表扩展成带有摘要内容的列表。

WordPress论坛相关讨论

一些存档索引实例

#1
又是抄袭,问题你抄袭的话,就把问题弄明白了,哎。不实用呀