前提・実現したいこと
パンくずリストをプラグインを使わず自作したんですが、positionが下記のように親カテゴリが3で子カテゴリが2になってしまうので、親カテゴリを2に子カテゴリを3にしたいです。
<li itemprop="itemListElement" itemscope itemtype="//schema.org/ListItem"> <a itemprop="item" href="http://example.com/category/parent/"> <span itemprop="name">親カテゴリ</span> <meta itemprop="position" content="3" /> </a> </li> <li itemprop="itemListElement" itemscope itemtype="//schema.org/ListItem"> <a itemprop="item" href="http://example.com/category/parent/child/"> <span itemprop="name">子カテゴリ</span> <meta itemprop="position" content="2" /> </a> </li>
該当のソースコード
php
1 2function breadcrumb() { 3 $position = 2; 4 5 $home = ' 6 <li itemprop="itemListElement" itemscope itemtype="//schema.org/ListItem"> 7 <a itemprop="item" href="'.get_bloginfo('url').'" > 8 <span itemprop="name">ホーム</span> 9 </a> 10 <meta itemprop="position" content="1" /> 11 </li>' 12 ; 13 14 echo '<ul class="breadcrumbs" itemscope itemtype="//schema.org/BreadcrumbList">'; 15 16 if ( is_front_page() ) { 17 18 } else if ( is_single() ) { 19 20 $cat = get_the_category(); 21 if( isset($cat[0]->cat_ID) ) $cat_id = $cat[0]->cat_ID; 22 $cat_list = array(); 23 while ($cat_id != 0){ 24 $cat = get_category( $cat_id ); 25 $cat_link = get_category_link( $cat_id ); 26 array_unshift( 27 $cat_list, ' 28 <li itemprop="itemListElement" itemscope itemtype="//schema.org/ListItem"> 29 <a itemprop="item" href="'.$cat_link.'"> 30 <span itemprop="name">'.$cat->name.'</span> 31 <meta itemprop="position" content="' . $position ++ . '" /> 32 </a> 33 </li>' 34 ); 35 $cat_id = $cat->parent; 36 } 37 echo $home; 38 foreach($cat_list as $value){ 39 echo $value; 40 } 41 the_title(' 42 <li itemprop="itemListElement" itemscope itemtype="//schema.org/ListItem"> 43 <span itemprop="name">', '</span> 44 <meta itemprop="position" content="' . $position ++ . '" /> 45 </li>' 46 ); 47 } 48 echo " </ul>"; 49}
試したこと
順番を入れ替えるのに、array_reverse() を使いましたが、親カテゴリが消えてしまったり、ただ順番が入れ替わっただけで番号はそのままでした。
その他にも検索してみましたが、該当しそうなものを見つけることができませんでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/27 02:24