建站技術網專注分享網站建設技術,網站建設教程,真正幫你學會做網站技術,輕松解決網站建設過程中遇到的常見問題,為廣大站長服務。 網站地圖 | 收藏本站 | 訂閱
域名投資,就來找米網,認準網址:www.zhaomi.cc 專業仿站,就到仿站網:www.fangzhan.org
  站內公告: ·帝國cms教程內容已更新,歡迎關注     ·建站技術網采用阿里云服務器,備案已通    
您當前的位置:建站技術網 > cms教程 > Wordpress教程

優化WordPress分類鏈接及WP-No-Category-Base的卸載方法

時間:2019-04-26 23:31:10  來源:網絡收集  整理: 建站技術網 www.txwlqq.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.txwlqq.com/cmsJiaocheng/Wordpress/9142.html
上一篇:WordPress禁止特定用戶修改密碼的方法
下一篇:the_time WordPress日期和時間調用函數
來頂一下
返回首頁
返回首頁
相關文章
    無相關信息
推薦資訊
如何通過SEO優化排名賺錢?SEO賺錢方法
如何通過SEO優化排名賺
seo優化教程:網站seo內容優化
seo優化教程:網站seo
SEO細節:企業SEO如何快速為新站做出效果
SEO細節:企業SEO如何
電商技術將如何發展?2018年有這五個大膽預測
電商技術將如何發展?
最新文章
欄目更新
欄目熱門
成人黄色