最上位カテゴリ名のみ表示+スラッグをクラスに付与する方法
-
自作テンプレートを制作途中の者です。
他サイトやフォーラムも拝見し色々と試してみましたが、どうしても自己解決することができません。
まず、カテゴリの設定状況ですが、フルーツ(最上位)
-リンゴ
-スイカがあり、投稿時には最上位カテゴリと子カテゴリを一つずつチェックするようにしています。
そして、目標とするHMTL記述は下記になります。目標のHTML記述
<span class="cat_icon fruits"> <a href="http://localhost:8888/news/category/entame">フルーツ</a> </span>
上記のように親カテゴリ名だけを表示し、囲まれているspanのクラスに親のスラッグを入れたいのですが、なかなかうまくいきません。
試した事
その1
<?php $cat = get_the_category(); $cat = $cat[0]; { echo '<span class="cat_icon ' . $cat->category_nicename . '" />'; } ?><?php the_category(','); ?></span>
こちらの方法では親・子ともに表示されてしまうのと、子の方のスラッグがクラスとして当てられてしまいました。
つづきまして、、、その2
<?php $c = get_the_category(); $pid = $c[0]->parent; if( $pid > 0 ) { do { $t = get_term_by( '', $pid, 'category' ); $pid = $t->parent; } while( $pid > 0 ); echo '<span class="cat_icon ' . $cat->category_nicename . '" /><a href="' . get_category_link( $t->term_id ) . '">' . $t->name . '</a></span>'; }else{ echo '<span class="cat_icon ' . $cat->category_nicename . '" /><a href="' . get_category_link( $c[0]->term_id ) . '">' . $c[0]->name . '</a>'; } ?>
上記はこちらのhttp://www.mcompany.co.jp/blog/w-press/linux/8694/サイト様を参考にしてみましたが、自力では、、ご覧のように手も足もでませんでした。排出されるHTMLは
<span class=""> <a href="http://localhost:8888/news/category/web">フルーツ</a> </span>
最上位のカテゴリ名は取得できましたが、クラス名が付与されませんでした。
下手な説明で長々と申し訳ありませんが、どなたかお力添えを頂けないでしょうか。どうぞよろしくお願い致します。
6件の返信を表示中 - 1 - 6件目 (全6件中)
6件の返信を表示中 - 1 - 6件目 (全6件中)
- トピック「最上位カテゴリ名のみ表示+スラッグをクラスに付与する方法」には新たに返信することはできません。