記事ページに登録されているカスタムタクソノミーのタームを全体の登録件数降順で表示する

カスタムタクソノミーが複数存在するサイトで、タームを全て表示したいと思った時に実行した内容です。

やりたいことは

  • 投稿ページ(記事ページ)に複数のカスタムタクソノミーのタームをリンク付きで表示
  • 上記タームに属する、全体の投稿件数を表示
  • 全体の登録件数順(降順)に並べ替え

です。

例えば「ドラえもん」に関する投稿があったとして、登録されているカスタムタクソノミーが以下だとします。(情報はWikipediaより抜粋した適当なものですよ)

  • ジャンル…児童漫画、少年漫画
  • 掲載誌…コロコロコミック、てれびくん
  • 出版地域…中国、ベトナム、フィリピン

この場合に、以下のように表示させたい!ということです。

「タームをリンク付きで表示」ということであれば簡単な方法がありました。

ですがこれでは今回やりたかったことがかなわなかったので別の方法を模索しました。

あまりスマートではない気がするので、もっときちんとした方法があるかもですが。。

今後のためのメモです。

記事ページの記述したい箇所(例えば single.php)に以下のように記述することで表示されました。

参考ページ

ただの配列であれば簡単にソートは出来てしまいますが、それが多次元であったときのソート方法です。 こんな配列があったと仮定します。 ```php:multisort.php $array = array( array( ...

array_multisort の使い方ではハマりました。。

配列とオブジェクトの扱い方をごちゃ混ぜにしていたのでずっと $value[“count”] としていて値を取得できませんでした。これを $value -> count としたことでうまくいきました。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク