怎樣在wordpress網站模板中,添加麵包屑導航功能模塊?(WordPress去掉URL鏈接中自帶的category分類目錄前綴)
文章目錄
怎樣在wordpress網站模板中,添加麵包屑導航功能模塊?
幾乎在所有的wordpress網站中,我們都可以看到麵包屑導航的身影(如下圖)。麵包屑導航,可以很方便地讓我們了解到我們在這個wordpress網站中所在的位置,而且,我們還可以通過點擊麵包屑導航中的鏈接,進入到對應的頁面。可見麵包屑導航不僅讓wordpress網站更加便利,而且提升了wordpress網站的用戶體驗。
那麼,我們怎樣在wordpress網站模板中添加麵包屑導航呢?請隨我來,我們可以通過2種方式來實現。具體操作,可以觀看我在本站發表的《wordpress網站模板開發中,怎樣添加麵包屑導航功能?》視頻教程。
麵包屑導航的視頻教程
方法一:每個wordpress模板頁添加對應的麵包屑導航代碼。
也就是說,我們可以在wordpress模板中,想要顯示麵包屑導航的地方,添加麵包屑導航代碼就可以了。一般情況下,需要麵包屑導航的地方有:wordpress網站的分類頁模板、文章頁模板、單頁面模板、tag標籤頁模板、搜索頁模板、作者頁模板等等。
wordpress網站分類頁模板麵包屑導航代碼:
wordpress網站文章頁模板麵包屑導航代碼:
wordpress網站單頁面模板麵包屑導航代碼:
這種方式的缺點:需要在wordpress網站的每個需要麵包屑導航的模板中添加麵包屑導航代碼,後期維護比較麻煩。
方法二:在wordpress模板中創建麵包屑導航的函數。
為了更加方便地在wordpress網站模板中調用麵包屑導航,我們可以給麵包屑導航創建一個函數,然後,只需要用到麵包屑導航的頁面直接調用這個函數就可以了。因為麵包屑導航會在wordpress網站的很多頁面中使用,所以,我們在函數中要做不同頁面的判斷,根據不同的頁面調用不同的麵包屑導航。
在wordpress網站模板的functions.php文件中添加如下代碼:
麵包屑函數創建好了,就可以在wordpress網站模板中調用它,代碼如下:
通過上面的2種方式,我們都可以為我們的wordpress網站模板添加麵包屑導航的功能。當然,我們還可以通過wordpress的麵包屑導航插件來實現,不過,這麼簡單的功能,沒必要耗費系統資源來使用插件,純代碼更加有效。
如果還有什麼疑問,歡迎在下面給我留言,我會儘快給你回復。謝謝參閱。
WordPress去掉URL鏈接中自帶的category分類目錄前綴
在使用WordPress博客程序搭建網站的時候,WordPress的分類存檔是非常重要的頁面,在網站樹形結構中佔據一席位置。但是默認情況下分類頁面的URL地址中有一個 <strong class=\"red\">/category/</strong> 目錄,這個目錄不僅會影響用戶體驗還會影響網站整體的SEO效果(網站的目錄層次越少越利於搜索引擎抓取,也越利於獲取更好的排名)。所以為了網站的SEO效果,必須要去掉這個category二級目錄,降低目錄的深度。那麼怎麼去除wordpress自帶的一層category目錄呢?
WordPress去除分類目錄URL路徑中category分類目錄前綴的四種辦法:
方法一:在後台「固定鏈接」中設置「分類目錄前綴」
登錄你的Wordpress後台,打開 「設置 —》固定鏈接 —》」 頁面。在 「可選」 設置項里的 「分類目錄前綴」 里輸入半形字元: 「.」 ,如下圖所示,保存後即可去掉分類前綴category。
優點:設置簡單,老少皆宜。適用於初建成的博客,或剛打算使用固定鏈接 /永久鏈接的博客。用不著修改代碼,升級之時沒有顧慮;用不著插件,不會增加運行負擔。
缺點:原鏈接無法打開,出現404錯誤。被搜索引擎收錄良好,或分類鏈接有較多外鏈鏈入的博客,可要萬分小心了。不要因為操作簡單、省時省力而損失了大量外鏈及權重。因為它並沒有插件所支持的自動 301 跳轉,且原地址仍可以訪問。(例如:www.aszhi.com/seo/與www.aszhi.com/category/seo/都是可以訪問並且內容完全一樣)這會造成谷歌網站管理員工具里提到的,重複的標題。而且這種鑽官方代碼空子的方法難保會一直有效下去。
方法二:藉助WordPress插件實現
(1)使用 WP No Category Base 插件,在後台插件管理中搜索「WP No Category Base」(如下圖所示),然後下載安裝。此插件主要是為去除固定鏈接中分類鏈接里的category而開發出來的一款wordpress插件。
安裝啟用此插件後,對原來的分類地址做了301重定向跳轉,對SEO優化有好處,把降權風險降到最低。
(2)使用 No category parents 插件,在後台插件管理中搜索「No category parents」,然後下載安裝。此插件不僅能去掉分類鏈接的前綴category,還能去掉父分類parent-category。例如:將「/category/parent-category/my-category/」換成「/my-category/」 。
優點:安裝簡單,老少皆宜。無論是初建成的博客,還是正打算使用固定鏈接/永久鏈接的博客,還是被搜索引擎收錄良好的博客。用不著修改代碼,升級之時沒有顧慮。使用301跳轉,把原鏈接進行跳轉。最大程度符合seo優化,防止搜索引擎降權,防止原鏈接打不開。
不足:插件或許會造成空間負擔。這裡不說是缺點,就是因為,造成的「空間負擔」微乎其微,不應該是缺點。比較在意的就不用,無所謂推薦使用。
方法三:純代碼實現
純代碼去掉WordPress分類目錄鏈接中的category分類標誌,也非常簡單,只需要將以下代碼放在 當前主題的模板函數文件functions.php 文件最後一個?>前面即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
// 去掉鏈接中category分類標誌 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 dont 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\', \' 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 Base global $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 Debugging return $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 Debugging if (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; } |
優點:僅加入一段代碼,性能影響忽略不計。適用於對代碼稍熟悉的博客。
缺點:修改代碼,博客主題升級還要修改。
1. 帶 [親測] 說明源碼已經被站長親測過!
2. 下載後的源碼請在24小時內刪除,僅供學慣用途!
3. 分享目的僅供大家學習和交流,請不要用於商業用途!
4. 本站資源售價只是贊助,收取費用僅維持本站的日常運營所需!
5. 本站所有資源來源於站長上傳和網路,如有侵權請郵件聯繫站長!
6. 沒帶 [親測] 代表站長時間緊促,站長會保持每天更新 [親測] 源碼 !
7. 盜版ripro用戶購買ripro美化無擔保,若設置不成功/不生效我們不支持退款!
8. 本站提供的源碼、模板、插件等等其他資源,都不包含技術服務請大家諒解!
9. 如果你也有好源碼或者教程,可以到審核區發布,分享有金幣獎勵和額外收入!
10.如果您購買了某個產品,而我們還沒來得及更新,請聯繫站長或留言催更,謝謝理解 !
GG資源網 » 怎樣在wordpress網站模板中,添加麵包屑導航功能模塊?(WordPress去掉URL鏈接中自帶的category分類目錄前綴)