index.php
<div class="breadgrumbs">
<ul>
<li><a href="/">Главная</a></li>
<li><a href="/news/">Новости</a></li>
<li>
<?php $cur_terms = get_the_terms( $post->ID, 'category' );
if( is_array( $cur_terms ) ){
foreach( $cur_terms as $cur_term ){
echo '<a href="'. get_term_link( $cur_term->term_id, $cur_term->taxonomy ) .'">'. $cur_term->name .'</a>';
}
} ?>
</li>
<li><?php the_title(); ?></li>
</ul>
</div>
single-taxonomy.php
<div class="breadgrumbs">
<?php
$term = get_the_terms(get_the_ID(), 'productcat'); // Получаем текущую запись
if ($term) {
$term = array_shift($term); // Получаем только первый термин из списка (если запись может иметь несколько терминов)
$taxonomy = $term->taxonomy; // Получаем текущую таксономию
$ancestors = get_ancestors($term->term_id, $taxonomy); // Получаем предков текущего термина
$ancestors = array_reverse($ancestors); // Меняем порядок массива на обратный
?>
<ul>
<li><a href="/">Главная</a></li>
<li><a href="/product/">Каталог</a></li>
<?php
// Выводим предков текущего термина
if (!empty($ancestors)) {
foreach ($ancestors as $ancestor) {
$ancestor_term = get_term_by('term_id', $ancestor, $taxonomy);
echo '<li><a href="' . get_term_link($ancestor_term) . '">' . $ancestor_term->name . '</a></li>';
}
}
?>
<li><a href="<?php echo get_term_link($term); ?>"><?php echo $term->name; // Выводим название текущего термина ?></a></li>
<li><?php the_title(); ?></li>
</ul>
<?php } ?>
</div>
<div class="breadgrumbs">
<ul>
<li><a href="/">Главная</a></li>
<li><a href="/news/">Новости</a></li>
<li>
<?php $cur_terms = get_the_terms( $post->ID, 'routescat' );
if( is_array( $cur_terms ) ){
foreach( $cur_terms as $cur_term ){
echo '<a href="'. get_term_link( $cur_term->term_id, $cur_term->taxonomy ) .'">'. $cur_term->name .'</a>';
break;
}
} ?>
</li>
<li><?php the_title(); ?></li>
</ul>
</div>
single.php
<div class="breadgrumbs">
<ul>
<li><a href="/">Главная</a></li>
<li><a href="/news/">Новости</a></li>
<li><?php the_category(' '); ?></li>
<li><?php the_title(); ?></li>
</ul>
</div>
Если исключить рубрику (index.php)
<div class="cats-news"><?php echo get_modified_term_list( get_the_ID(), 'category', '', ' ', '', array(14) ); ?></div>
Если исключить рубрику (function.php)
function get_modified_term_list( $id = 0, $taxonomy, $before = '', $sep = '', $after = '', $exclude = array() ) {
$terms = get_the_terms( $id, $taxonomy );
if ( is_wp_error( $terms ) )
return $terms;
if ( empty( $terms ) )
return false;
foreach ( $terms as $term ) {
if(!in_array($term->term_id,$exclude)) {
$link = get_term_link( $term, $taxonomy );
if ( is_wp_error( $link ) )
return $link;
$term_links[] = '<a href="' . $link . '" rel="tag">' . $term->name . '</a>';
}
}
if( !isset( $term_links ) )
return false;
return $before . join( $sep, $term_links ) . $after;
}
LESS
.breadgrumbs{
ul{
padding: 0;
margin: 0;
li{
list-style: none;
display: inline-block;
vertical-align: text-top;
font-size: 14px;
margin-right: 15px;
padding-right: 15px;
position: relative;
&::before{
content: '';
position: absolute;
display: block;
right: -8px;
top: 2px;
width: 14px;
height: 14px;
background: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='10' height='14' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M9 18l6-6-6-6'/%3e%3c/svg%3e") no-repeat 50% 50%;
background-size: contain;
}
&:last-child{
padding-right: 0;
margin-right: 0;
&::before{
display: none;
}
}
a{
color: @color-1;
text-decoration: none;
&:hover{
text-decoration: underline;
}
}
}
}
}