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

- Link: https://yjyj.net/learn/wordpress-learn/4772.html
- Published: 2014-10-10T14:05:37+08:00
- Author: 小 虾

⚡ 生猛大蝦编辑部 · 30 秒核心看点

 * 分类页 URL 少一个“/”会影响静态缓存与链接统一，本文直接用代码修复。
 * 不想再装插件？把过滤逻辑写进 functions.php，就能轻量解决。
 * 核心做法是挂载 user_trailingslashit，非 single 类型统一补尾斜杠。

这两天在给囧客圈配置Super Static Cache插件生成全站html的时候遇到了很多url方面的问题.

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

性感的小代码如下:

    ```decode:true
    //为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 处理，更适合只修分类等页面的尾斜杠问题。

📚 【[WordPress 学习](https://yjyj.net/category/learn/wordpress-learn)】专栏延伸
阅读与热门精选（[全站文章归档](https://yjyj.net/archive)）：

 * [wordpress 为cos-html-cache插件增加页面（Page）、标签（Tag）和分类（Category）的静态化功能](https://yjyj.net/learn/wordpress-learn/4749.html)
 * [WordPress 图片alt自动使用标题](https://yjyj.net/learn/wordpress-learn/4747.html)
 * [优化了一下囧客圈的主题,把query_posts替换为WP_Query了](https://yjyj.net/learn/wordpress-learn/4778.html)
 * [关于wordpress缩略图的一些小代码](https://yjyj.net/learn/wordpress-learn/4835.html)
 * 热门必读[解决: windows 环境下 无法将“git”项识别为 cmdlet、函数、脚本文件或可运行程序的名称](https://yjyj.net/learn/7776.html)
 * 热门必读[DMIT 全线缺货, 只剩搬瓦工了](https://yjyj.net/discover/7787.html)
