Примеры переезда со старой версии Kama Breadcrumbs 3
Kama Breadcrumbs- Заметки по Микроразметке
- Примеры переезда со старой версии Kama Breadcrumbs 3
- Удаляем дублированные строки в каждой следующей части крошек
- Поддержка плагина qtranslate-xt
- Установка через composer
При установке новой версии скорее всего ничего менять не придется. Этот пример показывает когда изменялся шаблон вывода...
Пример 1
Был код для версии 3:
// старые коды для крошек версии 3 ----------------------------------- add_filter( 'kama_breadcrumbs_default_args ', function($args){ $args['linkpatt'] = '<li><a href="%s">%s</a></li>'; $args['title_patt'] = '<li class="active">%s</li>'; $args['sep_after'] = ''; $args['sep'] = ''; return $args; } );
Для версии 4 код нужно переделать так:
// меняем аргументы крошек add_filter( 'kama_breadcrumbs_args', function($args){ $args['markup'] = array( //'wrappatt' => '<div class="kama_breadcrumbs">%s</div>', 'linkpatt' => '<li><a href="%s">%s</a></li>', 'titlepatt' => '<li class="active">%s</li>', //'seppatt' => '<span class="kb_sep">%s</span>', ); $args['sep'] = ''; return $args; } );
Что изменилось:
- теперь разметка лежит в элементе массива 'markup'.
- Изменился элемент title_patt на titlepatt.
- Теперь не обязательно указывать все элементы разметки...
Пример 2
Был код для версии 3:
add_action( 'kama_breadcrumbs_home_after', 'my_breadcrumbs_home_after', 10, 4); function my_breadcrumbs_home_after( $false, $linkpatt, $sep, $ptype ){ // если мы в рубрике с ID 5 или в дочерней рубрике, // то дополним начало крошек ссылкой на страницу с ID 7 $qo = get_queried_object(); // if( is_category() && ( $qo->term_id == 5 || $qo->parent == 5 ) ){ if( is_page( array( 563, 564, 565, 566, 567, 568 ) ) ){ $page = get_post( 562 ); // Услуги return sprintf( $linkpatt, get_permalink($page), $page->post_title ) . $sep; } elseif ( is_page( array( 579, 582, 584 ) ) ){ $page = get_post( 524 ); // Наша специализация return sprintf( $linkpatt, get_permalink($page), $page->post_title ) . $sep; } elseif ( is_page( array( 1040, 1046, 1047, 1058, 1060, 1062 ) ) ){ $page = get_post( 523 ); // О компании return sprintf( $linkpatt, get_permalink($page), $page->post_title ) . $sep; } elseif ( is_page( array( 1088 ) ) ){ $page = get_post( 574 ); // Клиентам return sprintf( $linkpatt, get_permalink($page), $page->post_title ) . $sep; } return $false; }
Для версии 4 код нужно переделать так:
// добавить свои ссылки в крошки - добавим рубрику tplcat если фукнция из этой рубрики. add_filter( 'kama_breadcrumbs_filter_elements', 'my_breadcrumbs_home_after', 10, 3 ); function my_breadcrumbs_home_after( $elms, $class, $ptype ){ // print_r( $elms ); // дебаг - смотрим какие элементы есть в массиве и добавляем куда и что нужно нам // если мы в рубрике с ID 5 или в дочерней рубрике, // то дополним начало крошек ссылкой на страницу с ID 7 $qo = get_queried_object(); // if( is_category() && ( $qo->term_id == 5 || $qo->parent == 5 ) ){ if( is_page( array( 563, 564, 565, 566, 567, 568 ) ) ){ $page_id = 562; // Услуги } elseif ( is_page( array( 579, 582, 584 ) ) ){ $page_id = 524; // Наша специализация } elseif ( is_page( array( 1040, 1046, 1047, 1058, 1060, 1062 ) ) ){ $page_id = 523; // О компании } elseif ( is_page( array( 1088 ) ) ){ $page_id = 574; // Клиентам } // если есть что добавить - добавляем if( isset($page_id) ){ $page = get_post( $page_id ); $elms['home_after'][] = $class->makelink( get_permalink($page), $page->post_title ); } return $elms; }
Что изменилось:
- изменился фильтр. Теперь все элементы крошек можно менять через единый фильтр 'kama_breadcrumbs_filter_elements'.
- ссылка добавляется в массив
- ссылка создается с помощью метода makelink().