按字母顺序排列WordPress日志

2条评论

WordPress默认以由近到远的时间顺序排列日志:最新发表的日志显示在日志列表上方,稍早发表的则排在新日志下方。但有些用户可能希望以字母顺序排列日志。我们可以通过更换WordPress模板来以其它方式排列日志。

分类模板

假设目前有一个名为“Glossary”的分类,分类下每篇日志都介绍了一个术语和它的定义,日志标题就是这个术语名称。如果希望显示出所有术语名称及其相应定义,需要编辑主题的category.php文件,然后在主循环前作如下修改:

<?php
get_header();
?>

<div id="content">

<?php
// we add this, to show all posts in our
// Glossary sorted alphabetically
if (is_category('Glossary')) 
{
     $posts = query_posts($query_string . 
'&orderby=title&order=asc&posts_per_page=-1');
} 
// here comes The Loop!
if (have_posts()) : while (have_posts()) : the_post(); ?>

特定分类模板

如果希望“Glossary”分类在所有分类中显得与众不同,可以创建为“Glossary”分类创建一个专用的分类模板文件。首先要找到“Glossary”的分类ID。这里我们可以假设“Glossary”的分类ID为13。

复制主题中index.php文件或category.php文件(必要时可以新建一个文件)的内容,粘贴到新文件category-13.php中,根据需要在category-13.php中插入以下代码:

<?php
get_header();
?>

<div id="content">

<?php
// we add this, to show all posts in our 
// Glossary sorted alphabetically
$posts = query_posts($query_string . 
'&orderby=title&order=asc&posts_per_page=-1');
// here comes The Loop!
if (have_posts()) : while (have_posts()) : the_post(); ?>

为“Glossary”分类使用独立的分类模板文件表明,我们无需用各种各样的条件模板标签打乱主category.php文件。

主模板

如果希望在网站主页上按字母顺序列出所有日志,可以按以下方式编辑主题的index.php文件:

<?php
// we add this, to show *all* posts sorted
// alphabetically by title
     $posts = query_posts($query_string . '&orderby=title&order=asc&posts_per_page=-1');
// here comes The Loop!
if (have_posts()) : while (have_posts()) : the_post(); ?>

相关资料

#1
对中文好像作用不大。
#2
如果我想建立一个自定义字段,并且可以赋予该值超级链接,怎么才能实现点击该链接后读取这个自定义字段的所有文章呢?例如xx.com/theme?=xxx