不用插件,輕松實現 wordpress 面包屑導航
在開發獨立WordPress主題時,確保面包屑導航的功能是核心需求。此項功能不僅優化了用戶的導航體驗,還便于搜索引擎有效解析網站架構。本文將探討如何在無需額外插件支持的情況下,將這一實用特性集成至WordPress主題。
為什么面包屑導航這么重要?
面包屑導航,作為網站導引的關鍵,標示用戶在頁面的當前位置和追蹤路徑。類似在錯綜復雜的網絡迷徑中探索,面包屑導航乃引領回返的航標。對搜索引擎優化(SEO)而言,其地位無法取代,它助力搜索引擎蜘蛛精確掌握網站結構,進而提升網站在搜索結果中的能見度。
面包屑導航對于增強網站的專業性至關重要。若無此功能,訪客將如同迷失方向者,體驗不適。引入面包屑導航不僅優化網站效能,顯著提高用戶滿意度。故而在WordPress主題中集成面包屑導航,無疑是明智的選擇。
如何在不使用插件的情況下添加面包屑導航?
業已認識到在WordPress主題中融入面包屑導航的重要性。需明確指出,盡管豐富插件可供選用,但插件濫用可能降低網站加載效率,并威脅安全。本篇旨在探討如何在未依賴插件的前提下,手工搭建面包屑導航體系。
在主題目錄內定位至`functions.php`文件,此為核心文件,負責執行所有自定義功能。按指引代碼置入該文件,主題即刻啟用面包屑導航。操作流程清晰便捷。
功能非常完善的面包屑導航代碼
目前,本代碼段的特性完備,適合滿足您的多數需求。請將此代碼段粘貼至`functions.php`文件,其中包含的函數支持生成面包屑導航。
php function the_breadcrumb() { if (!is_home()) { echo '<a href="';function?cmp_breadcrumbs()?{ $delimiter?=?'?';?//?分隔符 $before?=?'';?//?在當前鏈接前插入 $after?=?'';?//?在當前鏈接后插入 if?(?!is_home()?&&?!is_front_page()?||?is_paged()?)?{ echo?''.__(?'當前位置:'?,?'cmp'?); global?$post; $homeLink?=?home_url(); echo?'?'?.?__(?'無作為'?,?'cmp'?)?.?'?'?.?$delimiter?.?'?'; if?(?is_category()?)?{?//?分類?存檔 global?$wp_query; $cat_obj?=?$wp_query->get_queried_object(); $thisCat?=?$cat_obj->term_id; $thisCat?=?get_category($thisCat); $parentCat?=?get_category($thisCat->parent); if?($thisCat->parent?!=?0){ $cat_code?=?get_category_parents($parentCat,?TRUE,?'?'?.?$delimiter?.?'?'); echo?$cat_code?=?str_replace?('<a','<a?itemprop="breadcrumb"',?$cat_code?); } echo?$before?.?''?.?single_cat_title('',?false)?.?''?.?$after; }?elseif?(?is_day()?)?{?//?天?存檔 echo?''?.?get_the_time('Y')?.?'?'?.?$delimiter?.?'?'; echo?''?.?get_the_time('F')?.?'?'?.?$delimiter?.?'?'; echo?$before?.?get_the_time('d')?.?$after; }?elseif?(?is_month()?)?{?//?月?存檔 echo?''?.?get_the_time('Y')?.?'?'?.?$delimiter?.?'?'; echo?$before?.?get_the_time('F')?.?$after; }?elseif?(?is_year()?)?{?//?年?存檔 echo?$before?.?get_the_time('Y')?.?$after; }?elseif?(?is_single()?&&?!is_attachment()?)?{?//?文章 if?(?get_post_type()?!=?'post'?)?{?//?自定義文章類型 $post_type?=?get_post_type_object(get_post_type()); $slug?=?$post_type->rewrite; echo?''?.?$post_type->labels->singular_name?.?'?'?.?$delimiter?.?'?'; echo?$before?.?get_the_title()?.?$after; }?else?{?//?文章?post $cat?=?get_the_category();?$cat?=?$cat[0]; $cat_code?=?get_category_parents($cat,?TRUE,?'?'?.?$delimiter?.?'?'); echo?$cat_code?=?str_replace?('<a','labels->singular_name?.?$after; }?elseif?(?is_attachment()?)?{?//?附件 $parent?=?get_post($post->post_parent); $cat?=?get_the_category($parent->ID);?$cat?=?$cat[0]; echo?''?.?$parent->post_title?.?'?'?.?$delimiter?.?'?'; echo?$before?.?get_the_title()?.?$after; }?elseif?(?is_page()?&&?!$post->post_parent?)?{?//?頁面 echo?$before?.?get_the_title()?.?$after; }?elseif?(?is_page()?&&?$post->post_parent?)?{?//?父級頁面 $parent_id?=?$post->post_parent; $breadcrumbs?=?array(); while?($parent_id)?{ $page?=?get_page($parent_id); $breadcrumbs[]?=?'ID)?.?'"?rel="external?nofollow"?>'?.?get_the_title($page->ID)?.?''; $parent_id?=?$page->post_parent; } $breadcrumbs?=?array_reverse($breadcrumbs); foreach?($breadcrumbs?as?$crumb)?echo?$crumb?.?'?'?.?$delimiter?.?'?'; echo?$before?.?get_the_title()?.?$after; }?elseif?(?is_search()?)?{?//?搜索結果 echo?$before?; printf(?__(?'Search?Results?for:?%s',?'cmp'?),?get_search_query()?); echo?$after; }?elseif?(?is_tag()?)?{?//標簽?存檔 echo?$before?; printf(?__(?'Tag?Archives:?%s',?'cmp'?),?single_tag_title(?'',?false?)?); echo?$after; }?elseif?(?is_author()?)?{?//?作者存檔 global?$author; $userdata?=?get_userdata($author); echo?$before?; printf(?__(?'Author?Archives:?%s',?'cmp'?),?$userdata->display_name?); echo?$after; }?elseif?(?is_404()?)?{?//?404?頁面 echo?$before; _e(?'Not?Found',?'cmp'?); echo?$after; } if?(?get_query_var('paged')?)?{?//?分頁 if?(?is_category()?||?is_day()?||?is_month()?||?is_year()?||?is_search()?||?is_tag()?||?is_author()?) echo?sprintf(?__(?'(?Page?%s?)',?'cmp'?),?get_query_var('paged')?); } echo?''; } }echo get_option('home');
echo '">';
bloginfo('name');
echo " » ";
In the context of category pages or solitary entries, {
the_category(' » ');
if (is_single()) {echo " » ";
the_title();
}
} elseif (is_page()) {
}
}本代碼模塊首要驗證頁面是否位于首屏,否則將生成指向首頁的導航鏈接。隨后,基于頁面類型(如分類、文章或常規頁面),自動構建匹配的路徑導航。其卓越性能令人矚目。
簡潔版的面包屑導航代碼
若代碼復雜度令您感到不適或您只需要基礎面包屑導航功能,請參考此簡略版。該代碼精簡高效,亦能滿足基本需求。
定義函數simple_breadcrumb_function。
echo '">首頁 » ';
該代碼繼承自先前版本,針對冗余信息進行了精簡處理,提升了文本的精煉程度,特別適用于簡單面包屑路徑導航需求。
前臺調用面包屑導航
function?bread_nav($sep?=?'?>?'){ echo?'?您當前的位置:?首頁'; if?(?is_category()?){??//如果是欄目頁面 global?$cat;???? echo?$sep?.?get_category_parents($cat,?true,?$sep)?.?'文章列表'; }elseif?(?is_page()?){??//如果是自定義頁面 echo?$sep?.?get_the_title(); }elseif?(?is_single()?){??//如果是文章頁面 $categories?=?get_the_category(); $cat?=?$categories[0]; echo?$sep?.?get_category_parents($cat->term_id,?true,?$sep)?.'正文內容?'.?get_the_title();? } echo?''; }務必在主題文件中使用該函數。請于文章頂部或需展示面包屑導航的任何區域嵌入此代碼段。
或者,如果你使用的是簡潔版的代碼,那么調用方式如下:
這樣,你的面包屑導航就會在前臺顯示出來了。
總結
精通WordPress獨立式面包屑導航的增設技巧,適用于高級或簡潔版型,皆能顯著提升網站的專業形象及用戶滿意度。速來實踐,即刻體驗!
問題
WordPress主題是否集成了面包屑導航?該功能對網站有何益處?敬請于評論區分享您的見解與實施經驗。
作者:小藍
鏈接:http://www.haitaopa.cn/content/2760.html
本站部分內容和圖片來源網絡,不代表本站觀點,如有侵權,可聯系我方刪除。