浅析WordPress中的user_trailingslashit函数

《学渣笔记》近期修改了固定链接的格式,把文章页面的固定链接修改成了postname.html。主要是考虑到反斜杆虽然权重比较高,但是一般是用于目录的,而用于文章显然不是那么地规范。

不过WordPress,当我们设置完了固定链接格式之后。它不仅会修改文章的固定链接格式,还会修改诸如页面、分类的固定链接格式。当然,页面和分类的固定链接如果我们不去人为地修改,一般情况下都不会有很大的变化。只不过当我们把文章链接最后的反斜杆去掉之后,我们会发现分类、页面链接最后的反斜杆也消失了。对于分类来说,这就没办法告诉搜索引擎这个链接是一个分类索引的链接,这也是不好的。

如何解决分类目录没有反斜杆的代码,在网上也很容易就能够找到,在这里《学渣笔记》便不再浪费读者的时间在如何解决分类目录链接没有反斜杆这个问题上。而我主要是要来解析一下,这段代码中的user_trailingslashit是什么东西。

按照WordPress官方的说法,这个函数的作用是:

当你在固定链接格式中将链接以反斜杆结尾,那么这个函数就会在站点的链接中添加反斜杆作为结尾,如果没有的话,那么就不会再站点的链接中添加反斜杆。

也就是说,正是这个函数引用(Function Reference)导致了我们在修改完固定链接格式之后,系统不会自动帮我们在链接末尾添加“/”。

因此,我们“修复”这一错误的方式就是替换掉user_trailingslashit函数。首先我们得使用过滤器add_filter(‘user_trailingslashit’, ‘add_trailingslash_to_cat_url’, 10, 2);。这样就能够把引用user_trailingslashit函数的地方,用add_trailingslash_to_cat_url(我们自定义的函数)来替换掉。而在这个函数中,我们又可以通过trailingslashit(参数)函数,再加上判断语句,来实现给我们的分类目录链接添加反斜杆。

你可能还喜欢

留下评论

电子邮件地址不会被公开。 必填项已用*标注