移除WordPress分类URL中的’/category’正确方法

移除WordPress分类URL中的’/category’正确方法

WordPress设置固定链接后,分类目录的URL会以’/category’开头,哪怕是一级分类目录在URL中变成了二级目录了。网上有一些移除URL中’/category’的方法,但有些是错误的。

错误的方法

一些教程会让你在固定链接设置中,在“分类前缀”中填入一个小数点”.”,在浏览器中URL中的’/category’就消失了。看起来好像没问题,但实际上是将URL变成了:https://example.com/./类别

在浏览器中不会显示这个小数点,但在HTML中输出的却是/./类别,如下图:

这样的话搜索引擎爬网的时候,抓取的也是带小数点的URL。

正确的方法

方法一:通过WordPress过滤器改写默认的URL

/**
移除URL中的category
出自:https://www.zhanzhangb.cn/tutorials/remove-category-method.html
*/
function zhanzhangb_remove_category( $string, $type ) {
if ( $type != 'single' && $type == 'category' && ( strpos( $string, 'category' ) !== false ) ){
	$url_without_category = str_replace( "/category/", "/", $string ); 
	return trailingslashit( $url_without_category ); 
}
return $string;
}
add_filter( 'user_trailingslashit', 'zhanzhangb_remove_category', 100, 2);

将以上代码插入到主题的 functions.php 文件中。

推荐使用 WPCode Pro 插件插入以上PHP代码段,并选择“到处运行”:

方法二:使用SEO插件

虽然有专门移除URL中的’category’的插件,但并不推荐为此而专门安装一个插件。

几乎所有主流的SEO插件均有移除’category’的功能选项,仅需开启就可以了。

Yoast SEO Premium 插件示例(设置 > 分类目录):

Rank Math SEO Pro 插件示例(通用设置 > 链接):

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容