2013年07月12日 追記・変更

タグの並び替えを行うにはphpを利用して記述する

wordpressのタグを入力した順番に表示させる方法は存在しないので、もし、タグの並び替えを行いたい場合、この記事を参考にしてもらいたい。
タグの編集画面で、各タグの「スラッグ」を変更して、それをphpで並び替え処理を行う事で可能にした。
下記コードをタグを表示させたい箇所に記述する。

サンプルコード

<?php
$taglist = get_the_tags();
$tax = 0;
foreach($taglist as $val){
  $tag_list[$tax]['name'] = $val -> name;
  $tag_list[$tax]['slug'] = $val -> slug;
  $tag_list[$tax]['term_id'] = $val -> term_id;
  $tax++;
}
foreach($tag_list as $key => $row){
$sort[$key] = $row["term_id"];
}
array_multisort($sort,SORT_DESC,$tag_list);
?>

<?php foreach($tag_list as $val): next($tag_list); ?>
<a href="<?php bloginfo(url); ?>/tag/<?php echo $val['slug'];?>/"><?php echo $val['name'];?></a>
<?php echo (current($tag_list) !== false) ? ' : ' : '' ?>
<?php endforeach; ?>
array_multisort($sort,SORT_DESC,$tag_list);の箇所の引数の「SORT_DESC」は「降順」に並び替えを行うという事。
「SORT_ASC」と書き換えると「昇順」に並び替えされる。
ASCは、Ascending order (昇順)の事。DESCは、Descending order (降順)の事。

ウィジェット等に入力する場合の注意

ウィジェットエリアでは、PHPの記述をしてもそのまま表示されてしまい、phpとして認識されない。
そのため、もしウィジェットエリアで使用する場合は「ウィジェットでphpの記述の許可」をする必要がある。
今回は、プラグイン「PHP Text Widget」を使用した。
このプラグインをインストールして有効化すると、ウィジェットでphpの記述が可能になる。

この記事が気に入ったら下のボタンをクリック

  • このエントリーをはてなブックマークに追加
  • Clip to Evernote
  • LINEで送る


Leave a Reply