WordPress去掉分类链接中category目录的两种方法
我们的wp打开分类目录显示的链接默认是加上了/category/ 目录标志,非常的不美观,url非常的长,不利于url的SEO,网上多多方法,总结两种,一种是 WP No Category Base 插件,一种是手动。
方法一WP No Category Base 插件
WP No Category Base 插件功能简单,就是仅仅为了去除 /category/ 目录标志,直接安装,不需要任何设置就可以使用。如果你的是新站,可以考虑去除/category/ 目录;如果你的是老站(也就是说搜索引擎已经收录了分类目录),使用这个插件后,注意做一下分类链接的301跳转。
方法二非插件
不用插件来实现WordPress去掉分类链接中category目录,只需要将下面代码添加到你当前主题的 functions.php 文件中即可:
点击预览图表参数代码
//去除分类标志代码
add_action( 'load-themes.php', 'no_category_base_refresh_rules');
add_action('created_category', 'no_category_base_refresh_rules');
add_action('edited_category', 'no_category_base_refresh_rules');
add_action('delete_category', 'no_category_base_refresh_rules');
function no_category_base_refresh_rules() {global $wp_rewrite;$wp_rewrite -> flush_rules();
}
// register_deactivation_hook(__FILE__, 'no_category_base_deactivate');
// function no_category_base_deactivate() {
// remove_filter('category_rewrite_rules', 'no_category_base_rewrite_rules');
// // We don't want to insert our custom rules again
// no_category_base_refresh_rules();
// }
// Remove category base
add_action('init', 'no_category_base_permastruct');
function no_category_base_permastruct() {global $wp_rewrite, $wp_version;if (version_compare($wp_version, '3.4', '<')) {// For pre-3.4 support$wp_rewrite -> extra_permastructs['category'][0] = '%category%';} else {$wp_rewrite -> extra_permastructs['category']['struct'] = '%category%';}
}
// Add our custom category rewrite rules
add_filter('category_rewrite_rules', 'no_category_base_rewrite_rules');
function no_category_base_rewrite_rules($category_rewrite) {//var_dump($category_rewrite); // For Debugging$category_rewrite = array();$categories = get_categories(array('hide_empty' => false));foreach ($categories as $category) {$category_nicename = $category -> slug;if ($category -> parent == $category -> cat_ID)// recursive recursion$category -> parent = 0;elseif ($category -> parent != 0)$category_nicename = get_category_parents($category -> parent, false, '/', true) . $category_nicename;$category_rewrite['(' . $category_nicename . ')/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?category_name=$matches[1]&feed=$matches[2]';$category_rewrite['(' . $category_nicename . ')/page/?([0-9]{1,})/?$'] = 'index.php?category_name=$matches[1]&paged=$matches[2]';$category_rewrite['(' . $category_nicename . ')/?$'] = 'index.php?category_name=$matches[1]';}// Redirect support from Old Category Baseglobal $wp_rewrite;$old_category_base = get_option('category_base') ? get_option('category_base') : 'category';$old_category_base = trim($old_category_base, '/');$category_rewrite[$old_category_base . '/(.*)$'] = 'index.php?category_redirect=$matches[1]';//var_dump($category_rewrite); // For Debuggingreturn $category_rewrite;
}
// Add 'category_redirect' query variable
add_filter('query_vars', 'no_category_base_query_vars');
function no_category_base_query_vars($public_query_vars) {$public_query_vars[] = 'category_redirect';return $public_query_vars;
}
// Redirect if 'category_redirect' is set
add_filter('request', 'no_category_base_request');
function no_category_base_request($query_vars) {//print_r($query_vars); // For Debuggingif (isset($query_vars['category_redirect'])) {$catlink = trailingslashit(get_option('home')) . user_trailingslashit($query_vars['category_redirect'], 'category');status_header(301);header("Location: $catlink");exit();}return $query_vars;
}
不管安装插件或者用代码可能会出现404页面,即%post_id%.html(本站设置的固定链接)的伪静态失效了!
解决方法:登录后台→设置→固定链接设置页面,随意改一下固定链接格式,然后再改回自己正常用的固定链接格式,可以解决这个bug,不行就反复多改几次。
PS:如果还会出现404,建议把所有缓存清除后再尝试!ok,一切正常了。
补充方法
修改网站的 .htaccess 文件
通过修改网站根目录下的 .htaccess 文件来实现,把以下代码添加到网站根目录下的 .htaccess文件中:
RewriteRule ^category/(.+)$ http://www.511yj.com/$1 [R=301,L]
其中的 www.511yj.com 为你的网站地址。
优点:仅加入一段代码,性能影响忽略不计。适用于对代码稍熟悉的网站管理员;升级WordPress程序没有影响。
缺点:修改代码,要在主机管理中处理。
▪ wordpress文章页面添加版权信息的四种方法
▪ Super Static Cache高级纯静态插件Wordpress提速优化神器
▪ wordpress评论添加emoji表情
▪ WordPress限制上传图片的宽度长度大小
▪ WordPress免插件实现热门文章
▪ Youpzt-optimizer插件你的WordPress网站优化利器
▪ Wordpress自定义pre样式DIY代码高亮
▪ wordpress最新文章实现的三种方法
▪ wordpress标签云显示文章数量两种方法
▪ WordPress浏览次数统计插件:WP-PostViews Plu
WordPress去掉分类链接中category目录的两种方法相关推荐
- 在word文档中如何自动生成目录,两种方法制作目录,总有一种适合你
在word文档中如何自动生成目录,两种方法制作目录,总有一种适合你 目录 在word文档中如何自动生成目录,两种方法制作目录,总有一种适合你 1.文章中的标题较多,每个单独调整格式太费劲,这里我们用一 ...
- 用word2007自动生成目录的两种方法
用word2007自动生成目录的两种方法 看到很多人还在手工编写word的目录,感觉很浪费时间,下面跟大家分享一下,在word2007及word ...
- 站长在线Python精讲:在Python中格式化字符串的两种方法详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中格式化字符串的两种方法详解>.本知识点主要内容有:使用%操作符格式化字符串和使用format()方法格式化字 ...
- html怎么样取jsp中的路径,jsp中获得路径的两种方法和获得url路径的方法(推荐)
是解决相对路径的问题,可返回站点的根路径. //这样获得的是绝对路径 //这样获得的是相对路径 能够更有效的防治连接的失效. request.getContextPath()得到的是项目的名字,如果项 ...
- python自带的shell是什么-python中执行shell的两种方法总结
一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...
- python右对齐格式化输出_Python中格式化输出的两种方法介绍
本篇文章给大家带来的内容是关于Python中格式化输出的两种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方式一:使用占位符 % 常用占位符:% s (s = string ...
- DLL中资源切换的两种方法
DLL中资源切换的两种方法 方法1 AFX_MANAGE_STATE(AfxGetAppModuleState()); // MFC扩展dll 或 AFX_MANAGE_ ...
- python去重复排序_Python实现删除排序数组中重复项的两种方法示例
本文实例讲述了Python实现删除排序数组中重复项的两种方法.分享给大家供大家参考,具体如下: 对于给定的有序数组nums,移除数组中存在的重复数字,确保每个数字只出现一次并返回新数组的长度 注意:不 ...
- 华为n3计算机在哪里,在华为nova3i中连接电脑的两种方法介绍
大家知道怎么在华为nova3i中连接电脑吗?不知道没有关系,小编今天介绍在华为nova3i中连接电脑的两种方法,希望可以帮助到你哦. 在华为nova3i中连接电脑的两种方法介绍 方法一: 1.下载并且 ...
- python字典取值_python 字典中取值的两种方法小结
python 字典中取值的两种方法小结 如下所示: a={'name':'tony','sex':'male'} 获得name的值的方式有两种 print a['name'],type(a['name ...
最新文章
- wxml 点击图片下载_云存储之上传图片和展示图片(小程序云开发)
- oddo docker 安装
- html2image api,图像标签_图像识别 Image_API参考_API_华为云
- (error) LOADING Redis is loading the dataset in memory问题解决
- java 解析二进制_java实现解析二进制文件(字符串、图片)
- MFC通过ODBC连接mysql(使用VS2012编写MFC)
- 微型计算机及接口技术试卷,微机原理及接口技术试题以及答案
- linux ssh 查看vg,linux SSH证书登录
- “高级”CSS样式一般应用于控制网页内容的外观。附加样式表分为内嵌样式表和外部样式表两种方式。
- Android实时直播,一千行java搞定不依赖jni,延迟0.8至3秒,强悍移动端来袭
- javaweb JAVA JSP学生考勤管理系统考勤管理系统jsp学生迟到早退考勤查询系统(考勤管理系统源码)
- 解决NLPIR汉语分词系统init failed问题
- CCS的c语言编程,CCS_C语言编程
- 阿里巴巴面经、面试流程、面试题
- 近五年计算机考研国家线、自划线汇总!
- 什么是 UI 自动化测试?
- 高频交易(一)应用于高频交易中的对冲策略分析
- C++内码转换的三种方法
- 你怎样看待男女军人接吻
- 十步法原则解决数据质量问题
热门文章
- winform安装包签名
- 阿里巴巴 Java 性能调优手册
- 非极大值抑制(NMS)讲解
- duet连win10_该来的总算来了——Apogee Duet全新Windows 10操作指南
- 移动光猫上插usb储存设备在终端系统中该如何设置才能共享里面的文件。新手,小白,求大神指点
- 使用ffmpeg下载m3u8流媒体
- 主流数据库/国产数据库有哪些 如何适配国产数据库
- 使用MATLAB和ANSYS对四杆桁架结构进行有限元分析
- autobank渗流分析计算教程_AutoBank软件在土坝渗流稳定计算中的应用.pdf
- 使用pano2vr生成html5全景页面