WordPress 中文标签按照 name 排列的问题
WordPress 2.3 之后提供了内建的标签功能,并支持简单的标签云输出函数 wp_tag_cloud('')。其默认参数为,
- $defaults = array('smallest' => 8, 'largest' => 22,
- 'unit' => 'pt', 'number' => 45, 'format' => 'flat',
- 'orderby' => 'name', 'order' => 'ASC','exclude' => , 'include' => );
涉及到标签排序的参数为 orderby,该参数提供两个可选值:
· name (默认值)
· count
count 指的是与此标签关联的文章数目;而 name 指的是标签名。
如果我们想按照 A-Z 字母排序输出标签的话就应该选择 orderby=name,事实是这种排序仅对英文标签有效,中文标签排序并非按照音序排序。
原因是:中文标签是按照所选编码出存为十六进制的转义字符(例如“下载”被转换成“%e4%b8%8b%e8%bd%bd”),那么按照 name 排序就是按照这些字符的大小来排序。

