パンくずなどでよく使われるWordPressの関数the_category()ですが、
これで出力されるカテゴリの並び順は変えられません。
ということで、例によってfunctions.phpを使ってカスタマイズすることにしました。
functions.phpにcustom_the_categoryというfunctionを作成。
function custom_the_category() { $cat = get_the_category(); $category = array(); $category2 = array(); if( count( $cat ) > 1 ) { foreach( $cat as $c ){ //何らかの分岐を書く if($c->cat_ID < 5){ $category[] = '<a href="' . get_category_link($c->term_id) . '" rel="category tag">' . $c->cat_name . '</a>'; }else{ $category2[] = '<a href="' . get_category_link($c->term_id) . '" rel="category tag">' . $c->cat_name . '</a>'; } } $categories = array_merge($category, $category2); echo implode( ', ', $categories ); } }
if文で分岐をしてみましたが、つまりはget_the_category()でまず配列をとってきて、
それを何らかしらで並び替えればいいということです。
私は面倒だったので分岐させて、
最後にarray_mergeさせました、キレイじゃないのですが(汗
ちなみにaタグを作る部分で結構時間をくったのですが、
wp-includes/category-template.phpの中にget_the_category_listという関数があって、
これをみたらすぐ作れました。
get_category_link()をこういう風に使うのもいいですね。
コメント