WordPress 플러그 인 이 빵 부스러기 내 비게 이 션 을 실현 하 는 예시 코드
7902 단어 WordPressphp플러그 인빵 부스러기 항 법
앞에서 방법 을 소 개 했 습 니 다.시도 해 보 세 요.글 끝 에 사용자 정의 함수 가 wordpress 빵 부스러기 내 비게 이 션 을 실현 하 는 코드 를 상세 하 게 소개 하 였 습 니 다.클릭 하여 볼 수 있 습 니 다.
기능 완전 코드
1.테마 에 아래 코드 를 추가 하 는 functions.php:
/**
* WordPress
* http://www.511yj.com/wordpress-add-breadcrumb.html
*/
function cmp_breadcrumbs() {
$delimiter = '»'; //
$before = '<span class="current">'; //
$after = '</span>'; //
if ( !is_home() && !is_front_page() || is_paged() ) {
echo '<div itemscope itemtype="http://schema.org/WebPage" id="crumbs">'.__( ' :' , 'cmp' );
global $post;
$homeLink = home_url();
echo ' <a itemprop="breadcrumb" href="' . $homeLink . '" rel="external nofollow" >' . __( ' ' , 'cmp' ) . '</a> ' . $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 '<a itemprop="breadcrumb" href="' . get_year_link(get_the_time('Y')) . '" rel="external nofollow" rel="external nofollow" >' . get_the_time('Y') . '</a> ' . $delimiter . ' ';
echo '<a itemprop="breadcrumb" href="' . get_month_link(get_the_time('Y'),get_the_time('m')) . '" rel="external nofollow" >' . get_the_time('F') . '</a> ' . $delimiter . ' ';
echo $before . get_the_time('d') . $after;
} elseif ( is_month() ) { //
echo '<a itemprop="breadcrumb" href="' . get_year_link(get_the_time('Y')) . '" rel="external nofollow" rel="external nofollow" >' . get_the_time('Y') . '</a> ' . $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 '<a itemprop="breadcrumb" href="' . $homeLink . '/' . $slug['slug'] . '/" rel="external nofollow" >' . $post_type->labels->singular_name . '</a> ' . $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','<a itemprop="breadcrumb"', $cat_code );
echo $before . get_the_title() . $after;
}
} elseif ( !is_single() && !is_page() && get_post_type() != 'post' ) {
$post_type = get_post_type_object(get_post_type());
echo $before . $post_type->labels->singular_name . $after;
} elseif ( is_attachment() ) { //
$parent = get_post($post->post_parent);
$cat = get_the_category($parent->ID); $cat = $cat[0];
echo '<a itemprop="breadcrumb" href="' . get_permalink($parent) . '" rel="external nofollow" >' . $parent->post_title . '</a> ' . $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[] = '<a itemprop="breadcrumb" href="' . get_permalink($page->ID) . '" rel="external nofollow" >' . get_the_title($page->ID) . '</a>';
$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 '</div>';
}
}
프론트 데스크 호출
<?php if(function_exists('cmp_breadcrumbs')) cmp_breadcrumbs();?>
다음은 사용자 정의 함수 가 wordpress 빵 부스러기 내 비게 이 션 을 실현 하 는 코드 를 보 겠 습 니 다빵 부스러기 내 비게 이 션 하 나 는 독자 가 있 는 위 치 를 편리 하 게 하 는 것 이다.더 중요 한 것 은 SEO 에 매우 우호 적 이 고 거미 가 당신 사이트 의 목록 구 조 를 알 기 때문에 우리 의 wordpress 주제 에 빵 부스러기 내 비게 이 션 을 추가 하 는 것 이 필수 적 이다.
1.functioss.php 에 다음 코드 를 추가 합 니 다.
/**
* WordPress
* , (echo)
* Breadcrumb Trail
* @param string $sep , ' > '
*/
function bread_nav($sep = ' > '){
echo '<div class="col-md-12 "><span class="glyphicon glyphicon-home text-primary"></span> : <a href="'. home_url() .'" title=" "> </a>';
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 '</div>';
}
2.프론트 데스크 호출
<?php bread_nav();?>
총결산여기 서 워드 프레스 면제 플러그 인 이 빵 부스러기 내 비게 이 션 을 실현 하 는 예시 코드 에 관 한 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 워드 프레스 빵 부스러기 내 비게 이 션 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 우 리 를 많이 지지 해 주시 기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
wordpress+Stripe로 간단 서브스크 결제스트라이프 어드벤트 캘린더 12/20입니다(일에 걸치고 고멘나사이!)&간단한 재료로 죄송합니다! WordPress의 플러그인으로 구현할 수 있을 것 같다-, 그중 하고 싶다-라고 생각하고 있는 분에게! 유료 플러그인...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.