Хлебные крошки breadcrumbs
Здравствуйте, есть код function для хлебных крошек, в нем реализована микроразметка, проблема в том что данный код выводит одинаковый уровень вложенности для страниц и дочерних страниц
function the_breadcrumb(){
echo '<div itemscope itemtype="http://schema.org/BreadcrumbList" id="breadcrumbs">';
global $post;
if(!is_home()){
echo '<span itemscope itemprop="itemListElement" itemtype="http://schema.org/ListItem">
<a rel="nofollow" itemprop="item" title="Главная" href="'.site_url().'">
<span itemprop="name">На Главную</span>
<meta itemprop="position" content="1" />
</a>
</span> ← ';
if(is_single()){ // записи
echo '<span itemscope itemprop="itemListElement" itemtype="http://schema.org/ListItem">';
$categories = get_the_category();
if($categories[0]){
echo '<a itemprop="item" title="'.$categories[0]->name.'" href="' . get_category_link($categories[0]->term_id ) . '">
<span itemprop="name">'.$categories[0]->name.'</span>
<meta itemprop="position" content="2" />
</a>';
}
echo '</span> ←';
}
if(is_page()) { // страницы
if ($post->post_parent ) {
$parent_id = $post->post_parent;
$breadcrumbs = array();
while ($parent_id) {
$page = get_page($parent_id);
$breadcrumbs[] = ' <span itemscope itemprop="itemListElement" itemtype="http://schema.org/ListItem">
<a itemprop="item" title="'.get_the_title($page->ID).'" href="'. get_permalink($page->ID).'">
<span itemprop="name">'.get_the_title($page->ID).'</span>
<meta itemprop="position" content="2" />
</a>
</span>';
$parent_id = $page->post_parent;
}
$breadcrumbs = array_reverse($breadcrumbs);
foreach ($breadcrumbs as $crumb) echo $crumb . ' → ';
}
// echo the_title();
}
elseif (is_category()) { // категории
global $wp_query;
$obj_cat = $wp_query->get_queried_object();
$current_cat = $obj_cat->term_id;
$current_cat = get_category($current_cat);
$parent_cat = get_category($current_cat->parent);
single_cat_title();
if ($current_cat->parent != 0)
// echo(get_category_parents($parent_cat, TRUE, ' → '));
echo ' <span itemscope itemprop="itemListElement" itemtype="http://schema.org/ListItem">
<a itemprop="item" title="'.$parent_cat->cat_name.'" href="'. get_category_link($parent_cat, TRUE, '').'">
<span itemprop="name">'.$parent_cat->cat_name.'</span>
<meta itemprop="position" content="2" />
</a>
</span> ←';
}
elseif (is_search()) {
echo 'Результаты поиска по запросу "' . get_search_query() . '"';
}
elseif (is_tag()) {
echo 'Страница тега "';
echo single_tag_title('', false);
echo '"';
}
elseif (is_year()) {
echo get_the_time('Y');
echo ' г.';
}
elseif (is_month()) {
echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . ' г.</a> ← ';
}
elseif (is_day()) {
echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> г. ← ';
echo '<a href="' . get_month_link(get_the_time('Y'),get_the_time('m') ) . '">' . get_the_time('F') . '</a> ← ';
}
elseif (is_author()) {
echo 'Страница автора';
}
elseif (is_404()) { // если страницы не существует
echo 'Ошибка 404';
}
if (get_query_var('paged')) // номер текущей страницы
echo ' (' . get_query_var('paged').'-я страница)';
} else {
$pageNum=(get_query_var('paged')) ? get_query_var('paged') : 1;
if($pageNum>1)
echo '<a href="'.site_url().'">На Главную</a> » '.$pageNum.'-я страница';
else
echo '';
}
echo '</div>';
}
пример:
<div itemscope itemtype="http://schema.org/BreadcrumbList" id="breadcrumbs"><span itemscope itemprop="itemListElement" itemtype="http://schema.org/ListItem">
<a rel="nofollow" itemprop="item" title="Главная" href="https://сайт">
<span itemprop="name">На Главную</span>
<meta itemprop="position" content="1" />
</a>
</span> ← <span itemscope itemprop="itemListElement" itemtype="http://schema.org/ListItem">
<a itemprop="item" title="" href="https://сайт/страница 1/">
<span itemprop="name">имя</span>
<meta itemprop="position" content="2" /> / функция выводит 2 уровень вложенности для страницы
</a>
</span> → <span itemscope itemprop="itemListElement" itemtype="http://schema.org/ListItem">
<a itemprop="item" title="" href="https://сайт/страница 1/страница 1.1/">
<span itemprop="name">имя</span>
<meta itemprop="position" content="2" /> // так же выводит 2 уровень вложенности для дочерней страницы
</a>
</span> → </div><ul class="breadcrumbs">
подскажите пожалуйста, что нужно изменить в коде функции чтобы дочерние страницы соответствовали уровню вложенности? спасибо