对于网站来说,以清晰的层次、正确的格式显示当前位置是十分重要的。这既可以让用户更好地了解当前页面的分类,又增添了美观性。 在有些主题中,我们为文章设置了多级分类后,显示出的格式却有些问题。例如我目前使用的FLAT主题,显示如下:
“计算机科学与技术”和“Wordpress”本应是2个父子层级分类,显示出来却挤在了一起,让人误以为是一个分类。因此,我们要在其中插入分隔符。
方法一:
进入后台点击外观 – 编辑 – 文章页面(single.php),找到调用get_category_parents函数的地方,该函数会返回各级分类并控制其格式。四个参数分别是:
- category (integer) 要返回父级分类的类别ID。默认为当前类别ID。
- display link (boolean) 是否为各级分类创建链接。
- separator (string) 各个类别分开的符号。
- nice name (boolean) 是否显示分类别名(就是在URL中使用的名称)。默认为FALSE。
将第3个参数修改为 ‘ ’,效果如下:
看起来问题得到了解决,中间插入了空格。但实际上子分类的最后同样插入了空格(注意最后一个分类后的空隙比较大),如果使用逗号、箭头之类的分隔符,就很影响美观。如果您对这个方法不满意,请参考下面的方法。
方法二:
介绍一种比较暴力的方法。打开wp-includes/category-template.php,找到get_category_parents函数,将
1 |
$chain .= get_category_parents( $parent->parent, $link, $separator, $nicename, $visited ); |
中的$separator替换为需要的元素,例如: ‘ <img src=”https://blog.neoshell.moe/wp-content/themes/flat/img/arrow2.gif”> ’ 效果如下: