トピック投稿者
kaz
(@kazumasa0713)
ちょっと自分でいろいろ調べてやってみました。
子カテゴリーの取得は分からないので
the_category()
を使い、所属するカテゴリーを全て取得することにしました。
それで下記サイトを参考に以下のように作成したのですが、
あと一歩のところでうまくいきません。
どうか教えてください。
=====================================
【やりたいこと】
the_category()で記事の所属カテゴリー(複数)を全て取得し、
それぞれにclassをつけて表示したい。
【参考サイト】
http://wordpress.stackexchange.com/questions/91253/add-classname-to-the-category-function
【現状】
この通りfunction.phpに
//the_category()にクラスを追加
function add_class_callback( $result ) {
$class = strtolower( $result[2] );
$class = str_replace( ' ', '-', $class );
// do more sanitazion on the class (slug) like esc_attr() and so on
$replacement = sprintf( ' class="%s">%s</a>', $class, $result[2] );
return preg_replace( '#>([^<]+)</a>#Uis', $replacement, $result[0] );
}
function add_category_slug( $html ) {
$search = '#<a[^>]+(\>([^<]+)\</a>)#Uuis';
$html = preg_replace_callback( $search, 'add_class_callback', $html );
return $html;
}
add_filter( 'the_category', 'add_category_slug', 99, 1 );
を記載しました。
そうすると以下のようにhtmlをはきだしました。
(そのまま貼ります)
<ul class="post-categories">
<li><a href="" title="" rel="" class="おすすめコミック">おすすめコミック</a></li>
<li><a href="" title="" rel="" class="大学生が主人公">大学生が主人公</a></li>
<li><a href="" title="" rel="" class="学園ドラマ">学園ドラマ</a></li>
<li><a href="" title="" rel="category tag" class="家族ドラマ">家族ドラマ</a></li>
</ul>
上記のように、なぜかclass名にカテゴリーのスラッグではなく、カテゴリー名が際ってしまいます。これにスラッグ名が入れば完璧なのですが。。。
本当にお手上げ状態なので、
どうか宜しくお願い致します。