WordPress在当前位置中的多级分类目录间插入分隔符

对于网站来说,以清晰的层次、正确的格式显示当前位置是十分重要的。这既可以让用户更好地了解当前页面的分类,又增添了美观性。 在有些主题中,我们为文章设置了多级分类后,显示出的格式却有些问题。例如我目前使用的FLAT主题,显示如下:

“计算机科学与技术”和“Wordpress”本应是2个父子层级分类,显示出来却挤在了一起,让人误以为是一个分类。因此,我们要在其中插入分隔符。

方法一:

进入后台点击外观 – 编辑 – 文章页面(single.php),找到调用get_category_parents函数的地方,该函数会返回各级分类并控制其格式。四个参数分别是:

  1. category  (integer) 要返回父级分类的类别ID。默认为当前类别ID。
  2. display link  (boolean) 是否为各级分类创建链接。
  3. separator  (string) 各个类别分开的符号。
  4. nice name  (boolean) 是否显示分类别名(就是在URL中使用的名称)。默认为FALSE。

将第3个参数修改为 ‘  ’,效果如下:

看起来问题得到了解决,中间插入了空格。但实际上子分类的最后同样插入了空格(注意最后一个分类后的空隙比较大),如果使用逗号、箭头之类的分隔符,就很影响美观。如果您对这个方法不满意,请参考下面的方法。

方法二:

介绍一种比较暴力的方法。打开wp-includes/category-template.php,找到get_category_parents函数,将

中的$separator替换为需要的元素,例如: ‘&nbsp;&nbsp;&nbsp;<img src=”https://blog.neoshell.moe/wp-content/themes/flat/img/arrow2.gif”>&nbsp;&nbsp;&nbsp;’ 效果如下: