Всем привет,
Есть файл taxonomy-msk.php в котором должны выводиться термы в следующем порядке:
1. При попадании на терму
msk-mos (ID - 181), страницы таксономии
msk, выводятся дочки термы
msk-mos - msk-1, msk-2 и т.д.
2. При переходе на на дочку термы
msk-1, выводятся дочки термы
msk-1 (внучки термы
msk-mos) - msk-1_1, msk-1_2 и т.д.
3. При переходе на на дочку термы
msk-1_1 должны выводиться наименования записей относящихся к терме
msk-1_1
Вот такой вот код у меня получился:
<div class="border">
<div class="mymenu">
<nav class="main-navigation">
<?php
$termsID = get_terms($taxonomy, array('child_of' => $term->term_id ) );
echo '<div class="menu-msk-container"><ul id="menu-msk" class="">';
$terms_msk = $termsID;
if ( !empty( $terms_msk ) && !is_wp_error( $terms_msk ) ) {
foreach ($terms_msk as $term) {
echo '<li><a href="' . get_term_link( $term ) . '" title="' . sprintf($term->name) . '">' . $term->name . '</a></li>';
}
}
echo '</ul></div>';
;?>
</nav>
</div>
</div>
Однако, с этим кодом вывод получается в следующем виде:
1. При попадании на терму
msk-mos (ID - 181), страницы таксономии
msk, выводятся дочки термы
msk-mos - msk-1, msk-2 и т.д.,
а также, выводятся дочки термы msk-1 (внучки термы
msk-mos) - msk-1_1, msk-1_2 и т.д.
2. При переходе на на дочку термы
msk-1_1 НЕ выводятся наименования записей относящихся к терме
msk-1_1
Не знаю, что нужно дописать, чтобы выводились записи согласно:
1. При попадании на терму msk-mos (ID - 181), страницы таксономии msk, выводятся дочки термы msk-mos - msk-1, msk-2 и т.д.
3. При переходе на на дочку термы msk-1_1 должны выводиться наименования записей относящихся к терме msk-1_1
Методом проб и ошибок получился такой код:
<div id="" class="">
<?php
echo '<p>Это наименование таксаномии: <span style="font-weight: bold;">'.$taxonomy.'</span></p>';
echo '<p>Это <span style="text-decoration: underline;">название термы</span> в таксаномии '.$taxonomy.': <span style="font-weight: bold;">'.$term_slug.'</span></p>';
echo '<p>Это <span style="text-decoration: underline;">ID термы</span> в таксаномии '.$taxonomy.': <span style="font-weight: bold;">'.$term->term_id.'</span></p>';
?>
<ul class="">
<?php
echo'<div style="padding: 10 0 10 50;outline:1px dotted grey;">'
. ' <p>ссылки на дочки <strong>'.$term_slug.'</strong>:</p>';
if ( !empty( $terms ) && !is_wp_error( $terms ) ) {
foreach ($terms as $term) {
echo '<li><a href="' . get_term_link( $term ) . '" title="' . sprintf(__('View all post filed under %s', 'my_localization_domain'), $term->name) . '">' . $term->name . '</a></li>';
}
}
echo'</div><div style="padding: 10 0 10 50;outline:1px dotted grey;">'
. ' <p>ссылки на посты в дочках <strong>'.$term_slug.'</strong>:</p>';
foreach ($posts as $post){
setup_postdata($post); ?>
<li class=""><?php echo '<a href="'. get_permalink( $post->ID ) .'">'. $post->post_title .'</a>';?></li>
<?php
}echo'</div>';
wp_reset_postdata();
?>
</ul>
</div>
<pre style="color: green; width: 100%;">
<?php print_r($terms) ;?>
</pre>
</div>
Ни как не могу понять, как сделать так, чтобы ссылки на записи выводились только тогда, когда находишься в конкретной терме.
С этим кодом получается лишь выводить дочки главной термы и ссылки на записи из всех дочерних термов.