WordPress插件/无插件实现面包屑导航目录的几个方法
![]() | ![]() | ![]() | ![]() |
| 【性价之王】 | 【线路之王】 | 【价格之王】 | 【配置之王】 |
| 【免费之王】 | 【香港首推】 | 【梯子之王】 | 【独服之王】 |

一般我们采用WordPress默认主题或者稍微简单一点的免费主题是没有添加面包屑导航目录菜单功能的,从用户体验角度看一个页面中有面包屑导航是有利于访客知道当前所在的位置(如果页面很多的话),从搜索引擎体验角度看有利于蜘蛛的抓取,而且谷歌搜索引擎在搜索展示的时候也会把面包屑导航抓取进去。
如果我们使用的是ZBLOG程序,蜗牛之前有分享过一篇\”ZBLOG PHP面包屑导航效果调用代码\”,如果我们使用的是WordPress程序,这里蜗牛整理几个常用的有插件、无插件实现面包屑导航的方法。个人建议能不用插件就不用插件,如果觉得实在麻烦,那就用插件吧。
第一、利用Breadcrumb NavXT插件
我们直接在WP站点后台添加\”Breadcrumb NavXT\”插件下载激活。
<div class=\”breadcrumbs\”>
<?php if(function_exists(\’bcn_display\’)) { bcn_display(); } ?>
</div>
激活插件之后,在我们当前主题页面中的合适位置加上上面的代码调用面包屑展示。如果样式不满意,我们自己重新在CSS定义和修改样式。而且我们可以在后台设置中找到当前这个插件的设置选项。
一般我们默认也可以,有些模板可能比较窄,我们需要设置标题的长度。具体我们根据展示出来不满意再调整。
第二、模板页面直接添加代码方法
面包屑插件的原理很简单,无非就是调用首页的指向、当前文章的分类,以及当前文章的标题而已,我们可以直接在需要调用的页面,一般是single.php模板中添加就可以。
<div class=\”daohang\”>
当前位置:<a h=\”<?php bloginfo(\’url\’); ?>\”><?php bloginfo(\’name\’); ?></a> »
<?php
if( is_single() ){
$categorys = get_the_category();
$category = $categorys[0];
echo( get_category_parents($category->term_id,true,\’ » \’) );
the_title();
} elseif ( is_page() ){
the_title();
} elseif ( is_category() ){
single_cat_title();
} elseif ( is_tag() ){
single_tag_title();
} elseif ( is_day() ){
the_time(\’Y年Fj日\’);
} elseif ( is_month() ){
the_time(\’Y年F\’);
} elseif ( is_year() ){
the_time(\’Y年\’);
} elseif ( is_search() ){
echo $s.\’ 的搜索结果\’;
}
?>
</div>
然后我们根据自己需要重新定义.daohang样式就可以实现。
第三、定义当前主题文件调用
第二个方法好是好,就是代码太多还需要加入到主题中,这里直接用定义Functions.php文件,然后简单的样式调用需要用的页面。其实也就是类似把插件方法趴下来直接实现无插件化。
function dimox_breadcrumbs() {
$delimiter = \’»\’;
$name = \’首页\’; //text for the \’Home\’ link
$currentBefore = \'<span>\’;
$currentAfter = \'</span>\’;
if ( !is_home() && !is_front_page() || is_paged() ) {
echo \'<div id=\”crumbs\”>\’;
global $post;
$home = get_bloginfo(\’url\’);
echo \’\’ . $name . \’ \’ . $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) echo(get_category_parents($parentCat, TRUE, \’ \’ . $delimiter . \’ \’));
echo $currentBefore . \’Archive by category '\’;
single_cat_title();
echo \’'\’ . $currentAfter;
} elseif ( is_day() ) {
echo \’\’ . get_the_time(\’Y\’) . \’ \’ . $delimiter . \’ \’;
echo \’\’ . get_the_time(\’F\’) . \’ \’ . $delimiter . \’ \’;
echo $currentBefore . get_the_time(\’d\’) . $currentAfter;
} elseif ( is_month() ) {
echo \’\’ . get_the_time(\’Y\’) . \’ \’ . $delimiter . \’ \’;
echo $currentBefore . get_the_time(\’F\’) . $currentAfter;
} elseif ( is_year() ) {
echo $currentBefore . get_the_time(\’Y\’) . $currentAfter;
} elseif ( is_single() ) {
$cat = get_the_category(); $cat = $cat[0];
echo get_category_parents($cat, TRUE, \’ \’ . $delimiter . \’ \’);
echo $currentBefore;
the_title();
echo $currentAfter;
} elseif ( is_page() && !$post->post_parent ) {
echo $currentBefore;
the_title();
echo $currentAfter;
} elseif ( is_page() && $post->post_parent ) {
$parent_id = $post->post_parent;
$breadcrumbs = array();
while ($parent_id) {
$page = get_page($parent_id);
$breadcrumbs[] = \’\’ . get_the_title($page->ID) . \’\’;
$parent_id = $page->post_parent;
}
$breadcrumbs = array_reverse($breadcrumbs);
foreach ($breadcrumbs as $crumb) echo $crumb . \’ \’ . $delimiter . \’ \’;
echo $currentBefore;
the_title();
echo $currentAfter;
} elseif ( is_search() ) {
echo $currentBefore . \’Search results for '\’ . get_search_query() . \’'\’ . $currentAfter;
} elseif ( is_tag() ) {
echo $currentBefore . \’Posts tagged '\’;
single_tag_title();
echo \’'\’ . $currentAfter;
} elseif ( is_author() ) {
global $author;
$userdata = get_userdata($author);
echo $currentBefore . \’Articles posted by \’ . $userdata->display_name . $currentAfter;
} elseif ( is_404() ) {
echo $currentBefore . \’Error 404\’ . $currentAfter;
}
if ( get_query_var(\’paged\’) ) {
if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo \’ (\’;
echo __(\’Page\’) . \’ \’ . get_query_var(\’paged\’);
if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo \’)\’;
}
echo \'</div>\’;
}
}
将上面的脚本全部黏贴添加到当前主题的Functions.php文件中。
<div class=\”daohang\”>
<?php if (function_exists(\’dimox_breadcrumbs\’)) dimox_breadcrumbs(); ?>
</div>
然后在需要调用面包屑插件的页面添加,比如在single.php页面合适的位置。
上图是蜗牛添加在某个站点的,这个要根据自己不同的主题合适的位置添加,然后就是定义.daohang样式。
总结,以上3个方法是我们比较常用的WordPress网站添加面包屑导航的方法,可以用Breadcrumb NavXT插件实现,也可以直接修改代码无插件实现。其实第三个方法和插件方法差不多,我们可以不用插件用这个方法多一些,至少我喜欢用第三个方法。
[WordPress导航]历史优惠活动内容
猜你可能想看的VPS
- [11.11]ZJI→香港服务器 65 折 日本站群服务器 7 折 充 站群服务器[IP]
- [黑五]DediPath→VPS 全场 5 折 Hybrid Serve全球[VPS测评]
- 日本 VPS 8 美元每月 512M 内存 20G ssd 10T 流量日本VPS[主机]
- 劳动节 搬瓦工→新增 10Gbps 带宽的 cn2 gia 线路 VPS全球[VPS测评]
- 80VPS→韩国 KVM 双核 1GB 20GB 3M 年付 349 元韩国VPS[主机]
- 疯狂猜成语 图猜成语一个人在火中跑向一锅汤是什么成语?全球[VPS测评]
- 疯狂猜成语 图猜成语一只手抓着草是什么成语?全球[VPS测评]
- VM.DOG→$50 月 2GB 内存 60GB 空间 不限流量 1Gb虚拟空间(主机)
- DogYun 圣何塞 gia 经典云上线,电信往返 gia,终身 7.8全球[VPS测评]
- 劳动节 hosteons→7 大促销活动 不限流量 VPS 低至$13.WINDOWS
- 日本VPS服务器商家收集汇总 方便购买日本VPS服务器日本VPS[主机]
- Chrome插件Logo Grabber快速取得网站或品牌Logo全球[VPS测评]
- Vultr VPS主机取消 $3.5入门机型及新用户赠送$25全球[VPS测评]
- HytHost-2.9€月付 1C2G内存10G硬盘 不限流量 摩尔多瓦全球[VPS测评]
- Elastis-首充送8$ 月付4$ 印尼雅加达 2G内存20硬盘 1G全球[VPS测评]
- 50KVM VPS免费自助换IP功能全球[VPS测评]
- 星光互联 → 香港 新加坡 日本INAP → 2C 2G 500G 10日本VPS[主机]
- 百看不厌的文案,抖音唯美文案。全球[VPS测评]
- 华凯易佰同比扭亏跨境电商行业回暖H2旺季将至中报追踪全球[VPS测评]
- 野草云服务器怎么样?香港CN2+BGP带宽30M月付19元香港VPS[主机]
- btcvps,比特云怎么样?香港VPS,KVM架构带宽4M月付88港币香港VPS[主机]
- 拼多多拟建跨境电商平台:挖角SHEIN员工,0佣金招商入驻全球[VPS测评]
- locvps:香港cn2vps(葵湾机房),2核2G40g硬盘,8折优惠WINDOWS
- 极光kvm怎么样,便宜大带宽香港cmi vps/美国gia vps低至1美国VPS[主机]
- tmhhost:香港安畅机房三网CN2 GIA VPS,月付45起;美国美国VPS[主机]
- 六一云:国内BGP高防vps套餐,1核/1G/2Mbps/香港CN2,月香港VPS[主机]
- 磐逸云怎么样?香港沙田cn2vps 带宽5M年付128元香港VPS[主机]
- 56云服务器怎么样?56云免备案香港云服务器价格多少钱?香港VPS[主机]
- anyhk香港HKT商宽NAT VPS,1Gbps无限流量,终身8折¥3香港VPS[主机]
- 常见的CN2,GIA,CIA 各个网络线路解释全球[VPS测评]
转载请注明原文地址:http://140.238.13.167:12355/read-39693.html











