親自動チェックを入れてるので、
親のカテゴリのリストもでるので、
それをphpで削除して表示
https://qiita.com/Quantum/items/767dba44af81d1825248
<div id="top_navi">
<?php
// if(function_exists('bcn_display'))
// {
// bcn_display();
// }
?>
<?php
//記事中のすべてのカテゴリを取得
$categories = get_the_category();
// echo
// "<pre>";
// print_r($categories);
// echo "</pre>";
//フォーチ 連多次元想配列 並び替え---------
//ソート用の配列を下準備
$amounts = array();
foreach($categories as $key):
$amounts[] = $key -> parent;
//$amounts[] = $key['name'];
endforeach;
// 連多次元想配列 並び替え
array_multisort($amounts, SORT_DESC, SORT_STRING, $categories);
// echo
// "<pre>";
// print_r($categories);
// echo "</pre>";
// 2019追加 親カテゴリもチェックしてるから、全て出るので、 末端のカテゴリのみ表示させっる
$d_navi = array();
foreach($categories as $key):
$oya[] = $key -> parent; //親navi_idDをあつめる
$myid[] = $key -> term_id; //実際のnavi_idを集める
endforeach;
//echo "<pre>";
// print_r($oya
// );
// echo "</pre>";
//
//echo "<pre>";
// print_r($myid
// );
// echo "</pre>";
$navi_ids = array_diff($myid,$oya); //比較削除 前の中から あとの中とかぶってないものを返す
$navi_ids = array_values($navi_ids); //indexを詰める作業 0 1 2 と。 なくても出たけど 処理が早いとか
// echo "<pre>";
// print_r($navi_ids
// );
// echo "</pre>";
//カテゴリがある場合の実行
//if ( $categories ) {
if ( $navi_ids ) {
//カテゴリの数だけ繰り返す
//foreach( $categories as $category ) :
foreach( $navi_ids as $navi_id ) :
//カテゴリを親まで辿って表示
//商品を表示させないためファンクションで作成したget_category_parentsの変形 2019??
//2019追記 一回目
// echo
// "<pre>";
// print_r($category);
// echo "</pre>";
// 商品 と ジャンルのパンくずを消す
if( $category->term_id !== $welcart_cat && $category->term_id !== $welcart_genre ) :
?>
<div>
<?php //echo my_category_parents($category->cat_ID,true," > "); ?>
<?php echo my_category_parents($navi_id ,true," > "); ?>
</div>
<?php
endif;
endforeach; } ?>
</div>