| ブログトップ | CMS関連 |

wordpressでカテゴリー一覧を表示する方法2

ウィジェットを使用せずに、カテゴリ一覧を表示させたい場合は

wp_list_categories()

が一番簡単な方法ですが、自動的にリスト形式で書き出されるため、デザインによっては不便なことがあります。MTのように<MTCategories>~</MTCategories>で囲んだ部分をループさせたりする関数があるといいのですが、残念ながらWordPressでは存在しません(プラグインならあるかもしれませんが)

そこで結局はデータベースから取り出してくる必要があります。
しかしわざわざ、$wpdb->get_resultsを使う必要はありません。

今回はget_terms()を利用します。(参考サイト:とりさんのソフト屋さんサイト)

<?php
    $cat_all = get_terms( "category", "fields=all&get=all" );
    foreach($cat_all as $value):
 ?>
<p><a href="<?php echo get_category_link($value->term_id); ?>"><?php echo $value->name;?></a></p>
<?php endforeach; ?>

get_termsで取得されるフィールドは

  • term_id
  • name
  • slug
  • term_group
  • term_taxonomy_id
  • taxonomy
  • description
  • count

となっていますので、foreachでループさせて「$value->term_id」という風に取得してください。

なおURLについては、get_terms()では取得できませんので、

get_category_link(カテゴリID)

で取得してください。(カテゴリIDはforeach中に「$value->term_id」で取得できます。)

なお、自分のやり方ではキャッシュが考慮されていませんので、考慮されたい方はこちらのサイトをご参照ください。とりさんのソフト屋さんサイト

日々の生活にhappyをプラスする|ハピタス

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

LINEで送る

nandani | 2010年07月18日 | コメント(4) | トラックバック(5) | CMS関連

トラックバック

トラックバックURL

トラックバック一覧

[...] wordpressでカテゴリー一覧を表示する方法2へ [...]

[...] こういう方法もあります→wordpressでカテゴリー一覧を表示する方法2 [...]

3. タグクラウド表示してみた | mass-mix | 2011年02月01日 11:55 AM

[...] ダリの雑記:WEBプログラム版 [...]

[...] あとは好みのデザインに合わせてCSSを変更するだけ!非常に便利なコードだ! ただ、欠点としては良くも悪くもすべてのカテゴリを取得してしまうこと。特定のカテゴリを除外する方法がよく分からずにいるので、もし分かる人がいたら是非とも教えて頂きたい! (via ダリの雑記:WEBプログラム版) [...]

[...] wordpressでカテゴリー一覧を表示する方法2 | ダリの雑記:WEBプログラム版 [...]

コメント一覧

1. Posted by rina   2013年02月12日

はじめまして、こちらの記事を参考にカテゴリ一覧を表示することができました。
ありがとうございます。
そこで一つご質問させていただきたいのですが、カテゴリ一覧に一緒にカテゴリに属する子ページも表示させるにはどうすればいいかお分かりでしょうか。
もしお分かりでしたら教えていただけると幸いです。

2. Posted by nandani   2013年02月12日

rinaさん。
コメントありがとうございます。
get_posts(array('category'=>カテゴリのID));
で、そのカテゴリの記事を取得できますので、カテゴリ一覧のループの中にこれを入れ込めば取得できるかと思います。
データは配列で返ってきますので、print_rでお確かめください。

3. Posted by rina   2013年02月12日

nandaniさん、お返事ありがとうございます。
教えていただいたことを取り入れたら、無事表示できました。
ありがとうございました!!

4. Posted by voice acting services   2013年11月01日

私はこの記事を本当に好き。それは非常に興味深いトピックであると著者は本当に賢いと自由闊達な人です。私は別のポストに大きな喜びで、この作家を読んでしたいと思います。

コメントする

※メールアドレスが公開されることはありません。

名前 *
メール*
URL
Copyright(c) 2010 - 2017 ダリの雑記