建站技术网专注分享网站建设技术,网站建设教程,真正帮你学会做网站技术,轻松解决网站建设过程中遇到的常见问题,为广大站长服务。 网站地图 | 收藏本站 | 订阅
域名投资,就来找米网,认准网址:www.zhaomi.cc 专业仿站,就到仿站网:www.fangzhan.org
  站内公告: ·帝国cms教程内容已更新,欢迎关注     ·建站技术网采用阿里云服务器,备案已通    
您当前的位置:建站技术网 > cms教程 > Wordpress教程

优化WordPress分类链接及WP-No-Category-Base的卸载方法

时间:2019-04-26 23:31:10  来源:网络收集  整理: 建站技术网 www.jzjsw.com     点击:0次

默认情况下,WordPress分类的永久链接是这样的比如本站的技术文章分类。

exehack.net/category/my-article/

如果能把中间那段Category去掉,是不是更美观切更利于SEO优化呢:

exehack.net/my-my-article/

去除category的效果图:







小遍发现了二种方法:

1.开始本站就是启用的WP No? Category Base插件,使用它地将Wordpress强制加入的分类链接格式去掉。
插件特性:

1.将一级目录和二级目录永久链接格式优化为
exehack.net/my-my-article/
exehack.net/software/black-soft

以下是官网给出的这款插件的介绍:

1. 使用非常简单-几乎不会添加任何额外负担
2. 工作非常顺畅-无需任何设置
3. 无需修改wordpress 文件
4. 不需要任何其他插件就能工作
5. 与sitemap插件兼容
6. 对多级分类同样起作用。

PS:以上说法都没错,可是这苦逼的作者为什么不加上一条”该插件使用后无法停用或卸载”否则货照成网站文章无法访问”。

相信大家都有同感为什么明明是去除分类的category和文章页的url有什么关系?

这款插件的确很不错,可是小编非常讨厌流氓的插件,可是确无法停用.

经过小编的苦苦寻找终于发现了然后解决停用WP-No-Category-Base插件后文章页无法打开的方法。

方法非常简单:

1.把【固定连接】改为【默认】状态,然后,关闭【WP NO category base】插件
2.再改回之前的URL形式就可以了。
3.最后你就可卸载掉该插件了。

既然是要卸载掉【WP NO category base】插件的话小编早已找到新的方法来去除分类页面的category。
否则文章全部无法访问全是404错误页面大家辛辛苦苦经营起来的网站岂不是全毁了。

2.所以这里就介绍另外一种方法通过在functions.php添加如下代码来进行去除Category

代码如下:

PHP Code复制内容到剪贴板
  1. //去除分类 ??
  2. add_action(?'load-themes.php',??'no_category_base_refresh_rules'); ??
  3. add_action('created_category',?'no_category_base_refresh_rules'); ??
  4. add_action('edited_category',?'no_category_base_refresh_rules'); ??
  5. add_action('delete_category',?'no_category_base_refresh_rules'); ??
  6. function?no_category_base_refresh_rules()?{ ??
  7. ????global?$wp_rewrite; ??
  8. ????$wp_rewrite?->?flush_rules(); ??
  9. } ??
  10. //?register_deactivation_hook(__FILE__,?'no_category_base_deactivate'); ??
  11. //?function?no_category_base_deactivate()?{ ??
  12. //?????remove_filter('category_rewrite_rules',?'no_category_base_rewrite_rules'); ??
  13. //?????//?We?don't?want?to?insert?our?custom?rules?again ??
  14. //?????no_category_base_refresh_rules(); ??
  15. //?} ??
  16. //?Remove?category?base ??
  17. add_action('init',?'no_category_base_permastruct'); ?
  18. function?no_category_base_permastruct()?{ ?
  19. ????global?$wp_rewrite,?$wp_version; ?
  20. ????if?(version_compare($wp_version,?'3.4',?'<'))?{ ?
  21. ????????//?For?pre-3.4?support ?
  22. ????????$wp_rewrite?->?extra_permastructs['category'][0]?=?'%category%'; ?
  23. ????}?else?{ ?
  24. ????????$wp_rewrite?->?extra_permastructs['category']['struct']?=?'%category%'; ?
  25. ????} ?
  26. } ?
  27. //?Add?our?custom?category?rewrite?rules ?
  28. add_filter('category_rewrite_rules',?'no_category_base_rewrite_rules'); ?
  29. function?no_category_base_rewrite_rules($category_rewrite)?{ ?
  30. ????//var_dump($category_rewrite);?//?For?Debugging ?
  31. ????$category_rewrite?=?array(); ?
  32. ????$categories?=?get_categories(array('hide_empty'?=>?false)); ?
  33. ????foreach?($categories?as?$category)?{ ?
  34. ????????$category_nicename?=?$category?->?slug; ?
  35. ????????if?($category?->?parent?==?$category?->?cat_ID)//?recursive?recursion ?
  36. ????????????$category?->?parent?=?0; ?
  37. ????????elseif?($category?->?parent?!=?0) ?
  38. ????????????$category_nicename?=?get_category_parents($category?->?parent,?false,?'/',?true)?.?$category_nicename; ?
  39. ????????$category_rewrite['('?.?$category_nicename?.?')/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$']?=?'index.php?category_name=$matches[1]&feed=$matches[2]'; ?
  40. ????????$category_rewrite['('?.?$category_nicename?.?')/page/?([0-9]{1,})/?$']?=?'index.php?category_name=$matches[1]&paged=$matches[2]'; ?
  41. ????????$category_rewrite['('?.?$category_nicename?.?')/?$']?=?'index.php?category_name=$matches[1]'; ?
  42. ????} ?
  43. ????//?Redirect?support?from?Old?Category?Base ?
  44. ????global?$wp_rewrite; ?
  45. ????$old_category_base?=?get_option('category_base')???get_option('category_base')?:?'category'; ?
  46. ????$old_category_base?=?trim($old_category_base,?'/'); ?
  47. ????$category_rewrite[$old_category_base?.?'/(.*)$']?=?'index.php?category_redirect=$matches[1]'; ?
  48. ???? ?
  49. ????//var_dump($category_rewrite);?//?For?Debugging ?
  50. ????return?$category_rewrite; ?
  51. } ?
  52. ???? ?
  53. //?Add?'category_redirect'?query?variable ?
  54. add_filter('query_vars',?'no_category_base_query_vars'); ?
  55. function?no_category_base_query_vars($public_query_vars)?{ ?
  56. ????$public_query_vars[]?=?'category_redirect'; ?
  57. ????return?$public_query_vars; ?
  58. } ?
  59. ???? ?
  60. //?Redirect?if?'category_redirect'?is?set ?
  61. add_filter('request',?'no_category_base_request'); ?
  62. function?no_category_base_request($query_vars)?{ ?
  63. ????//print_r($query_vars);?//?For?Debugging ?
  64. ????if?(isset($query_vars['category_redirect']))?{ ?
  65. ????????$catlink?=?trailingslashit(get_option('home'))?.?user_trailingslashit($query_vars['category_redirect'],?'category'); ??
  66. ????????status_header(301); ??
  67. ????????header("Location:?$catlink"); ??
  68. ????????exit(); ??
  69. ????} ??
  70. ????return?$query_vars; ??
  71. }??
标签:
文章标题:优化WordPress分类链接及WP-No-Category-Base的卸载方法
文章网址:http://www.jzjsw.com/cmsJiaocheng/Wordpress/9142.html
上一篇:WordPress禁止特定用户修改密码的方法
下一篇:the_time WordPress日期和时间调用函数
来顶一下
返回首页
返回首页
相关文章
    无相关信息
推荐资讯
如何通过SEO优化排名赚钱?SEO赚钱方法
如何通过SEO优化排名赚
seo优化教程:网站seo内容优化
seo优化教程:网站seo
SEO细节:企业SEO如何快速为新站做出效果
SEO细节:企业SEO如何
电商技术将如何发展?2018年有这五个大胆预测
电商技术将如何发展?
最新文章
栏目更新
栏目热门