欢迎来到路由器窝!

Wordpress当前位置调用

浏览次数:

作者: 路由器窝

信息来源:

更新日期: 2020-08-16 18:49

文章简介

进入自己做网站的后台,找到主题下面的编辑按钮; 将以下的代码复制到模板函数functions.php里; //面包屑function wheatv_breadcrumbs() { $delimiter = ; $name = 首页; if ( !is_h

  • 正文开始
  • 相关文章
进入自己做网站的后台,找到主题下面的编辑按钮;
将以下的代码复制到模板函数functions.php里;
function the_crumbs( $before = '<li class="breadcrumb-item">', $delimiter = '</li><li class="breadcrumb-item">', $after = '</li>', $end_delimiter = '</li><li class="breadcrumb-item active" aria-current="page">' ) {
// $delimiter = '<span class="mx-1">/</span>'; // 分隔符
// $before = ''; // 在 当前页 前 插入
// $after = ''; // 在 当前页 后 插入
if ( !is_home() && !is_front_page() || is_paged() ) {
echo $before;
global $post;
$homeLink = home_url();
echo ' <a title="返回首页" href="' . $homeLink . '">首页</a>';
if ( is_single() && !is_page() && !is_attachment() && get_post_type() != 'post' ) { // 自定义文章类型
echo $delimiter;
$post_type = get_post_type_object( get_post_type() );
$slug = $post_type->rewrite;
echo '<a href="' . $homeLink . '/' . $slug[ 'slug' ] . '/">' . $post_type->labels->singular_name . '</a> '; //自定义文本存档 总归档 写法 2
$list = '';
foreach ( get_the_taxonomies() as $taxonomy_name => $taxonomy ) {
/*echo $taxonomy_name;*/
if ( $taxonomy_name != 'post_tag' ) {
$terms = get_the_terms( $post->ID, $taxonomy_name );
$term = $terms[ 0 ];
$parentTerm = get_term( $term->parent, $taxonomy_name );
if ( $term->parent != 0 ) {
$parentTerm_name = $parentTerm->name;
$parentTerm_link = get_term_link( $parentTerm->term_id, $taxonomy_name );
$list .= $delimiter .'<a href="' . esc_url( $parentTerm_link ) . '">' . $parentTerm_name . '</a> ' ;
}
$list .= $delimiter . '<a href="' . esc_url( get_term_link( $term->term_id, $taxonomy_name ) ) . '">' . $term->name . '</a> ' . $delimiter;
}
/* print_r ($term);*/
}
$list = substr( $list, 0, -strlen( $delimiter ) ); //移除最后一个 $delimiter
echo $list;
echo $end_delimiter . get_the_title();
} elseif ( is_single() && get_post_type() == 'post' ) { // 文章
echo $delimiter;
if ( get_option( 'page_for_posts' ) ) {//设置了文章页
echo ' <a href="' . get_post_type_archive_link( 'post' ) . '">' . get_post_type_object( 'post' )->labels->singular_name . '</a>' . $delimiter;
}
$cat = get_the_category()[ 0 ];
$cat_code = get_category_parents( $cat, TRUE, $delimiter );
$cat_code = substr( $cat_code, 0, -strlen( $delimiter ) ); //移除最后一个 $delimiter
echo $cat_code;
echo $end_delimiter . get_the_title();
}
elseif ( is_attachment() ) { // 附件
echo $delimiter;
$parent = get_post( $post->post_parent );
$cat = get_the_category( $parent->ID )[ 0 ];
$cat_code = get_category_parents( $cat, TRUE, $delimiter );
$cat_code = substr( $cat_code, 0, -strlen( $delimiter ) ); //移除最后一个 $delimiter
echo $cat_code . $delimiter;
echo '<a href="' . get_permalink( $parent ) . '">' . $parent->post_title . '</a> ';
echo $end_delimiter . '附件 - ' . get_the_title();
}
elseif ( is_page() ) { // 页面
$parents = get_post_ancestors( $post->ID );
$parents = array_reverse( $parents ); //以相反的顺序返回数组
if ( $post->post_parent ) { // 页面有父级
echo $delimiter;
$list = '';
foreach ( $parents as $crumb ) {
$list .= '<a href="' . get_permalink( $crumb ) . '">' . get_the_title( $crumb ) . '</a>' . $delimiter;
}
$list = substr( $list, 0, -strlen( $delimiter ) ); //移除最后一个 $delimiter
echo $list;
}
echo $end_delimiter . get_the_title();
}
elseif ( is_post_type_archive() ) { // 自定义文章类型 存档
echo $end_delimiter;
$post_type = get_query_var( 'post_type' );
if ( is_array( $post_type ) ) {
$post_type = reset( $post_type );
}
$post_type_object = get_post_type_object( $post_type );
if ( !$post_type_object->has_archive ) {
echo post_type_archive_title( '', false );
} elseif ( $post_type_object->has_archive ) {
echo post_type_archive_title( '', false );
}
}
elseif ( is_category() ) { // 分类 存档
if ( get_option( 'page_for_posts' ) ) {//设置了文章页
echo $delimiter.' <a href="' . get_post_type_archive_link( 'post' ) . '">' . get_post_type_object( 'post' )->labels->singular_name . '</a>' ;
}
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 $delimiter;
$cat_code = get_category_parents( $parentCat, TRUE, $delimiter );
$cat_code = substr( $cat_code, 0, -strlen( $delimiter ) ); //移除最后一个 $delimiter
echo $cat_code;
}
echo $end_delimiter . single_cat_title( '', false );
}
elseif ( is_tag() ) { //标签 存档
echo $end_delimiter;
printf( '关于 %s 的所有文章', single_tag_title( '', false ) );
}
elseif ( is_tax() ) { // 自定义分类 存档
echo $delimiter;
echo ' <a href="' . get_post_type_archive_link( get_post_type() ) . '">' . get_post_type_object( get_post_type() )->labels->singular_name . '</a>'; //自定义文本存档 总归档 写法 1
global $wp_query;
$tax_obj = $wp_query->get_queried_object();
$thisTax = $tax_obj->term_id;
$thisTaxonomy = $tax_obj->taxonomy;
$thisTax = get_term( $thisTax, $thisTaxonomy );
$parentTax = get_term( $thisTax->parent, $thisTaxonomy );
if ( $thisTax->parent != 0 ) {
echo $delimiter;
$tax_code = get_term_parents_list( $parentTax, $thisTaxonomy, array( 'separator' => $delimiter ) );
$tax_code = substr( $tax_code, 0, -strlen( $delimiter ) ); //移除最后一个 $delimiter
echo $tax_code;
}
echo $end_delimiter . single_term_title( '', false );
}
elseif ( is_author() && !is_post_type_archive() ) { // 作者存档
global $author;
$userdata = get_userdata( $author );
echo $end_delimiter;
printf( '来自 “%s” 的所有文章', $userdata->display_name );
}
elseif ( is_day() ) { // 天 存档
echo $delimiter;
echo '<a href="' . get_year_link( get_the_time( 'Y' ) ) . '">' . get_the_time( 'Y' ) . '</a> ' . $delimiter;
echo '<a href="' . get_month_link( get_the_time( 'Y' ), get_the_time( 'm' ) ) . '">' . get_the_time( 'F' ) . '</a> ';
echo $end_delimiter . get_the_time( 'd' );
}
elseif ( is_month() ) { // 月 存档
echo $delimiter;
echo '<a href="' . get_year_link( get_the_time( 'Y' ) ) . '">' . get_the_time( 'Y' ) . '</a> ';
echo $end_delimiter . get_the_time( 'F' );
}
elseif ( is_year() ) { // 年 存档
echo $end_delimiter . get_the_time( 'Y' );
}
elseif ( is_search() ) { // 搜索结果
echo $end_delimiter;
printf( '您是在搜索 %s 吗?', get_search_query() );
}
elseif ( is_404() ) { // 404 页面
echo $end_delimiter . '亲,你迷路了!';
}
elseif ( !is_single() && !is_page() && get_post_type() != 'post' ) {
$post_type = get_post_type_object( get_post_type() );
echo $end_delimiter . $post_type->labels->singular_name;
}
// 分页
if ( ( get_query_var( 'paged' ) ) && ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) ) {
printf( ' - 第 %s 页', get_query_var( 'paged' ) );
}
echo $after;
}
}

调用
<nav aria-label="breadcrumb">
<ol class="breadcrumb text-truncate">
<?php the_crumbs('<li class="breadcrumb-item">', '</li><li class="breadcrumb-item">', '</li>', '</li><li class="breadcrumb-item active" aria-current="page">'); ?>
</ol>
</nav>


转载请注明:Wordpress» Wordpress当前位置调用

标签:
没有了
下一页:WordPress 无插件 纯代码实现分页导航
最近更新作品
acf判断
更新时间:2024-04-17

892人已经看过了!

指定栏目ID另类调用配合acf
更新时间:2024-04-16

857人已经看过了!

word press 自定义文章类型制作留言功能
更新时间:2024-03-10

985人已经看过了!

php if  ifelse 循环
更新时间:2024-03-09

576人已经看过了!

栏目模板选择插件栏目模板
更新时间:2024-03-08

738人已经看过了!

contact-form-7历史版本WP SMTP配合使用
更新时间:2024-03-08

809人已经看过了!

WordPress True / False功能参数
更新时间:2024-03-08

929人已经看过了!

wordpress调用指定分类置顶文章
更新时间:2024-03-07

519人已经看过了!

WordPress父分类调用子分类名称和文章列表
更新时间:2024-03-07

520人已经看过了!