为wordpress分类(category)url补个 “/”

本文聚焦 WordPress 分类页 URL 末尾补“/”的实战问题,针对静态缓存生成时常见的地址不统一、规则…


生猛大蝦 - 3d render modern technology background with plexus design

这两天在给囧客圈配置Super Static Cache插件生成全站html的时候遇到了很多url方面的问题.
这还是要一个个来解决地.首先就是给分类页面的url补上一个”/”反斜杠
网上的办法大都是使用permalink-trailing-slash-fixer这个插件,但是对有强迫症的哥来说真是不想再多装任何一个插件了.
不过还好这个不是很复杂,在看了插件代码之后发现还是能够直接把代码插入到”functions.php”,来实现的哈哈

性感的小代码如下:

//为category添加反斜杠
if (is_admin()) return;
$permalink_structure = get_option('permalink_structure');
if (!$permalink_structure || '/' === substr($permalink_structure, -1))
	return;
add_filter('user_trailingslashit', 'ppm_fixe_trailingslash', 10, 2);
function ppm_fixe_trailingslash($url, $type)
{
	if ('single' === $type)
		return $url;
		return trailingslashit($url);
}

感谢插件的原作者~
Author: Mehdi Kabab
Author URI: http://pioupioum.fr/

❓ 延伸问答与排错指南(FAQ)
WordPress 分类页 URL 为什么要补“/”?

主要是为了统一链接格式,避免分类页与静态缓存生成后的地址不一致,减少跳转和规则混乱。对做全站静态化、缓存或伪静态整理时尤其有用。

不装插件怎么给分类链接加尾斜杠?

可以把过滤代码直接放进主题的 functions.php。思路是先判断后台和固定链接结构,再通过 user_trailingslashit 过滤器,让非 single 类型的链接统一加上末尾“/”。

这段代码会影响文章详情页吗?

不会。原文代码里对 single 类型做了排除,文章详情页保持原样,只对其他类型链接执行 trailingslashit 处理,更适合只修分类等页面的尾斜杠问题。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。