主机评测网,专注vps、独立服务器等主机评测
最专业的主机评测网站

如何向WordPress添加面包屑导航

如何向WordPress添加面包屑导航

导航是一系列链接的导航链接,显示您浏览网站页面的路径。面包屑通常显示在页面顶部,以便于访问。主要目的是让用户能够方便地回溯,从而提高网站的UX。除此之外,面包屑导航对整体网站体验和SEO都有好处。那么WordPress如何添加面包屑导航呢?

如何向WordPress添加面包屑导航

我们可以通过自定义代码实现breadcrumbs,并将以下代码添加到当前主题的functions.php文件中:

// WordPress面包屑功能
//将这段代码添加到您的主题函数文件中。

函数ah_breadcrumb() {

//检查是否是首页/首页,返回
if ( is_front_page() ) {
返回;
}

//定义
全球$邮政;
$ custom _ taxonomy =“”;//如果您有自定义分类,请将其放在此处

$defaults = array(
分隔符’ = >;’ ‘,
id ‘ = & gt啊-面包屑,
‘ classes ‘ = & gt啊-面包屑,
home _ title ‘ = & gtesc_html__( ‘Home ‘,” )
);

$ sep = ‘ & lt’ li class=”seperator ” >。ESC _ html($ defaults[‘ seperator ‘])。& lt/Li & gt;’;

//以指向主页的链接开始导航
回声’ & ltul id= ” “。esc_attr( $defaults[‘id’])。'” class= ” “。esc_attr( $defaults[‘classes’])。'” & gt;

//创建主页链接
回声’ & lt李class=”item ” >& lta href= ” “。get_home_url()。'” & gt。ESC _ html($ defaults[‘ home _ title ‘])。’& lt/a & gt;& lt/李& gt。$ sep

if ( is_single() ) {

//获取帖子类型
$ post _ type = get _ post _ type();

//如果帖子类型不是帖子
if( $post_type!= ‘post’ ) {

$ post _ type _ object = get _ post _ type _ object($ post _ type);
$ post _ type _ link = get _ post _ type _ archive _ link($ post _ type);

回声’ & ltli class=”item item-cat ” >& lta href= ” “。$post_type_link。” & gt。$ post _ type _ object-& gt;标签-& gt;名字。& lt/a & gt;& lt/李& gt。$ sep

}

//获取类别
$ category = get _ the _ category($ post-& gt;ID);

//如果类别不为空
如果(!空($类别)){

//将类别从父类别排列到子类别
$ category _ values = array _ values($ category);
$ get _ last _ category = end($ category _ values);
//$ get _ last _ category = $ category[count($ category)-1];
$ get _ parent _ category = rtrim(get _ category _ parents($ get _ last _ category-& gt;term_id,true,’,’ ),’,’);
$cat_parent = explode(‘,’,$ get _ parent _ category);

//在$display_category中存储类别
$ display _ category =“”;
foreach( $cat_parent as $p ) {
$display_category= ‘ & lt’ li class=”item item-cat ” >。$ p . ‘ & lt/Li & gt;’。$ sep
}

}

//如果是自定义分类中的自定义帖子类型
$ taxonomy _ exists = taxonomy _ exists($ custom _ taxonomy);

if(empty($ get _ last _ category)& amp;& amp!empty($ custom _ taxonomy)& amp;& amp$taxonomy_exists ) {

$ taxonomy _ terms = get _ the _ terms($ post-& gt;ID,$ custom _ taxonomy);
$ cat _ id = $ taxonomy _ terms[0]-& gt;术语标识;
$ cat _ link = get _ term _ link($ taxonomy _ terms[0]-& gt;term_id,$ custom _ taxonomy);
$ cat _ name = $ taxonomy _ terms[0]-& gt;姓名;

}

//检查帖子是否在类别中
如果(!空($get_last_category ) ) {

echo $ display _ category
回声’ & lt’ li class=”item item-current ” > ‘。get_the_title()。& lt/Li & gt;’;

} else if(!空($cat_id ) ) {

回声’ & ltli class=”item item-cat ” >& lta href= ” “。$cat_link,”” & gt。$cat_name,”& lt/a & gt;& lt/李& gt。$ sep
回声’ & lt’ Li class = ” item-当前项目” > ‘。get_the_title()。& lt/Li & gt;’;

}否则{

回声’ & lt’ Li class = ” item-当前项目” > ‘。get_the_title()。& lt/Li & gt;’;

}

} else if( is_archive() ) {

if( is_tax() ) {
//获取帖子类型
$ post _ type = get _ post _ type();

//如果帖子类型不是帖子
if( $post_type!= ‘post’ ) {

$ post _ type _ object = get _ post _ type _ object($ post _ type);
$ post _ type _ link = get _ post _ type _ archive _ link($ post _ type);

回声’ & ltLi class = ” item item-cat item-custom-post-type-“。$post_type。” & gt& lta href= ” “。$post_type_link。” & gt。$ post _ type _ object-& gt;标签-& gt;名字。& lt/a & gt;& lt/李& gt。$ sep

}

$ custom _ tax _ name = get _ query _ object()-& gt;姓名;
回声’ & lt’ li class=”item item-current ” > ‘。$custom_tax_name。& lt/Li & gt;’;

} else if ( is_category() ) {

$ parent = get _ query _ object()-& gt;类别_父母;

如果($家长!== 0 ) {

$ parent _ category = get _ category($ parent);
$ category _ link = get _ category _ link($ parent);

回声’ & lt李class=”item ” >& lta href= ” “。’ esc_url( $category_link)。'” & gt。$ parent _ category-& gt;名字。& lt/a & gt;& lt/李& gt。$ sep

}

回声’ & lt’ li class=”item item-current ” > ‘。single_cat_title(‘ ‘,false)。& lt/Li & gt;’;

} else if ( is_tag() ) {

//获取标签信息
$ term _ id = get _ query _ var(‘ tag _ id ‘);
$ taxonomy = ‘ post _ tag
$args = ‘include= ‘。$ term _ id
$ term = get _ terms($ taxonomy,$ args);
$ get _ term _ name = $ term[0]-& gt;姓名;

//显示标记名
回声’ & lt’ Li class = ” item-当前项目” > ‘。$get_term_name。& lt/Li & gt;’;

} else if( is_day() ) {

//日存档

//年份链接
回声’ & lt李class= “项目-年度项目” >& lta href= ” “。’ get_year_link( get_the_time(‘Y ‘)。'” & gt。get_the_time(‘Y ‘)。’档案& lt/a & gt;& lt/李& gt。$ sep

//月份链接
回声’ & lt李class=”item-month item ” >。& lta href= ” “。’ get_month_link( get_the_time(‘Y ‘),get_the_time(‘m ‘)。'” & gt。get_the_time(‘M ‘)。’档案& lt/a & gt;& lt/李& gt。$ sep

//日显示
回声’ & lt’ Li class = ” item-当前项目” > ‘。get_the_time(‘jS ‘)。’ ‘.get_the_time(‘M ‘)。档案& lt/Li & gt;’;

} else if( is_month() ) {

//月份存档

//年份链接
回声’ & lt李class= “项目-年度项目” >& lta href= ” “。’ get_year_link( get_the_time(‘Y ‘)。'” & gt。get_the_time(‘Y ‘)。’档案& lt/a & gt;& lt/李& gt。$ sep

//月份显示
回声’ & lt’李class= “项目-月项目-当前项目” > ‘。get_the_time(‘M ‘)。档案& lt/Li & gt;’;

} else if ( is_year() ) {

//年份显示
回声’ & lt’李class= “项目-年度项目-当前项目” > ‘。获取时间(‘ Y ‘)。档案& lt/Li & gt;’;

} else if ( is_author() ) {

// Auhor存档

//获取作者信息
global $作者;
$ user data = get _ user data($ author);

//显示作者姓名
回声’ & lt’ Li class = ” item-当前项目” > ‘。作者:’。$ user data-& gt;显示名称。& lt/Li & gt;’;

}否则{

回声’ & lt’ li class=”item item-current ” > ‘。post_type_archive_title()。& lt/Li & gt;’;

}

} else if ( is_page() ) {

//标准页面
if($ post-& gt;post_parent ) {

//如果是子页面,获取父页面
$ ANC = get _ post _ ancestors($ post-& gt;ID);

//按正确的顺序获取父级
$ ANC = array _ reverse($ ANC);

//父页面循环
如果(!isset($ parents))$ parents = null;
foreach ( $anc as $ancestor ) {

$父母。= ‘ & ltli class=”item-parent item ” >& lta href= ” “。get_permalink( $ancestor)。'” & gt。get_the_title( $ancestor)。”& lt/a & gt;& lt/李& gt。$ sep

}

//显示父页面
echo $ parents

//当前页面
回声’ & lt’ Li class = ” item-当前项目” > ‘。get_the_title()。& lt/Li & gt;’;

}否则{

//如果不是父页面,只显示当前页面
回声’ & lt’ Li class = ” item-当前项目” > ‘。get_the_title()。& lt/Li & gt;’;

}

} else if ( is_search() ) {

//搜索结果页面
回声’ & ltLi class = ” item-当前项目” >搜索结果:’。get_search_query()。& lt/Li & gt;’;

} else if ( is_404() ) {

// 404页
回声’ & lt’ Li class = ” item-当前项目” > ‘。错误404。& lt/Li & gt;’;

}

//结束面包屑
回声’ & lt/ul & gt;’;

}

然后,您还需要在主题的header.php文件中添加下面一行:

& lt?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
//在想要显示的地方调用breadcrumb函数
if(function _ exists(‘ ah _ bread crumb ‘))ah _ bread crumb();
?& gt

第一部分将面包屑添加到主题中。第二个“调用”相关函数,以便导航链接出现在标题中。请注意,您可能需要删除开头的<?Php,这个代码可以与主题的现有文件一起使用。

版权声明:本文所有内容均由第三方贡献,版权归原作者所有。本网站不拥有其版权,也不承担本文所有内容引起的任何版权归属问题或纠纷。如有侵权,请联系info@vps.caogenba.com。com,并且本网在核实确实侵权后有权删除该文章。

以上是我们本期分享的详细内容。本网站的部分内容来自互联网。希望对你有帮助。请关注vps.caogenba.com.com。

:如何向WordPress添加面包屑导航,https://vps.caogenba.com.com/69936.html

如今做站的人不多了,多个朋友多条路子,加入站长论坛和大佬们同道交流,Tips:可以免费打广告哦~ 点击立即加入>>

赞(0) 打赏
未经允许不得转载:主机测评 » 如何向WordPress添加面包屑导航

评论 抢沙发

登录

找回密码

注册