weicartのパンくずリストを改良したので記載

親自動チェックを入れてるので、
親のカテゴリのリストもでるので、
それを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>