不知道各位注意到没有,奶爸建站笔记的分类目录网址是不包含category的。例如https://blog.naibabiji.com/tutorial 比默认的网址会看着更简短。
而你的分类网址里面应该是包含category的。怎么去掉分类目录网址里面的category呢?有三种方法:
方法一:分类目录前缀使用.
在WordPress后台,设置分类目录前缀为.(英文点),保存就可以了。
方法二:添加代码到主题文件
把下面的代码复制了粘贴到主题的函数文件里面保存即可,方法来自我爱水煮鱼博客。
add_filter('request', function($query_vars) { if(!isset($_GET['page_id']) && !isset($_GET['pagename']) && !empty($query_vars['pagename'])){ $pagename = $query_vars['pagename']; $categories = get_categories(['hide_empty'=>false]); $categories = wp_list_pluck($categories, 'slug'); if(in_array($pagename, $categories)){ $query_vars['category_name'] = $query_vars['pagename']; unset($query_vars['pagename']); } } return $query_vars; }); add_filter('pre_term_link', function($term_link, $term){ if($term->taxonomy == 'category'){ return '%category%'; } return $term_link; }, 10, 2);
方法三:使用插件
如果你装了WPJAM Basic这款插件的话,那么插件自带这个功能。
如果你讨厌WPJAM Basic 的话,可以装No Category Base这款插件,同时还支持多站点模式设置去除分类的category网址。
Remove Category URL这款插件也可以去掉分类的category链接。https://wordpress.org/plugins/remove-category-url/
哪种方法更好用?
显而易见的,方法一是最好用的。
三种方法奶爸都测试了,没什么区别,虽然在sitemap里面,都会显示成
https://blog.naibabiji.com/./vps-you-hui
这种带有一个./的形式,不影响百度和Google的收录,也不影响网站上的正常显示,只在网站地图里面出现。