親自動チェックを入れてるので、
親のカテゴリのリストもでるので、
それをphpで削除して表示
https://qiita.com/Quantum/items/767dba44af81d1825248
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | <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> |