well, maybe this code will help you (it's also for structured data), there are some hacks for slugs and for News Manager breadcrumbs ..
Code:
<?php if(!defined('IN_GS')){ die('you cannot load this page directly.'); } ?>
<?php if(return_page_slug()!="index") {
$links = return_i18n_breadcrumbs(return_page_slug());
$separator = ' <i class="fa fa-caret-right"></i> ';
?>
<div class="breadcrumbs">
<div class="container" itemscope itemtype="http://schema.org/BreadcrumbList">
<span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a href="<?php echo find_url('index',null); ?>" title="Domov" itemprop="item">
<i class="fa fa-home fa-lg"></i><span class="visuallyhidden" itemprop="name"><?php get_site_name(); ?></span>
</a><?php echo $separator; ?>
<meta itemprop="position" content="1"/>
</span>
<?php
$n = count($links);
for($i=0; $i<$n; $i++) {
if($links[$i]['parent']!="") $links[$i]['parent'] = "/".$links[$i]['parent'];
if($i==$n-1 && return_page_slug()!= "blog" || nm_is_main()) $separator = "";
if($links[$i]['menu']!="") $title = $links[$i]['menu'];
else $title = $links[$i]['title'];
echo '<span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">',
'<a href="'.rtrim($SITEURL,"/").$links[$i]['parent'].'/'.$links[$i]['url'].'" itemprop="item" title="'.$links[$i]['title'].'">',
'<span itemprop="name">'.$title.'</span>',
'</a>'.$separator,
'<meta itemprop="position" content="'.($i+2).'"/>',
'</span>',"\n";
}
if(return_page_slug() == "blog") {
if(nm_is_single()) {
$all = nm_get_posts();
foreach ($all as $post) {
if($post->slug == nm_post_slug(false)) {
echo '<span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">',
'<a href="'.nm_post_url(false).'" itemprop="item" title="'.$post->title.'">',
'<span itemprop="name">'.$post->title.'</span>',
'</a>',
'<meta itemprop="position" content="'.($i+2).'"/>',
'</span>';
}
}
}
}
?>
</div>
</div>
<?php } ?>