| Bing日本版正式リリースブログトップ | CMS関連 | wordpressでシングルクォート・ダブルクォートが勝手に変換される問題点の解決方法
wordpressでカテゴリー一覧を表示する方法2
この記事は1年以上前の記事のため、内容が古い可能性があります。
ウィジェットを使用せずに、カテゴリ一覧を表示させたい場合は
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」で取得できます。)
なお、自分のやり方ではキャッシュが考慮されていませんので、考慮されたい方はこちらのサイトをご参照ください。とりさんのソフト屋さんサイト
トラックバック
トラックバックURL
トラックバック一覧
[...] wordpressでカテゴリー一覧を表示する方法2へ [...]
[...] こういう方法もあります→wordpressでカテゴリー一覧を表示する方法2 [...]
[...] ダリの雑記:WEBプログラム版 [...]
[...] あとは好みのデザインに合わせてCSSを変更するだけ!非常に便利なコードだ! ただ、欠点としては良くも悪くもすべてのカテゴリを取得してしまうこと。特定のカテゴリを除外する方法がよく分からずにいるので、もし分かる人がいたら是非とも教えて頂きたい! (via ダリの雑記:WEBプログラム版) [...]
[...] wordpressでカテゴリー一覧を表示する方法2 | ダリの雑記:WEBプログラム版 [...]
コメント一覧
はじめまして、こちらの記事を参考にカテゴリ一覧を表示することができました。
ありがとうございます。
そこで一つご質問させていただきたいのですが、カテゴリ一覧に一緒にカテゴリに属する子ページも表示させるにはどうすればいいかお分かりでしょうか。
もしお分かりでしたら教えていただけると幸いです。
rinaさん。
コメントありがとうございます。
get_posts(array('category'=>カテゴリのID));
で、そのカテゴリの記事を取得できますので、カテゴリ一覧のループの中にこれを入れ込めば取得できるかと思います。
データは配列で返ってきますので、print_rでお確かめください。
nandaniさん、お返事ありがとうございます。
教えていただいたことを取り入れたら、無事表示できました。
ありがとうございました!!
私はこの記事を本当に好き。それは非常に興味深いトピックであると著者は本当に賢いと自由闊達な人です。私は別のポストに大きな喜びで、この作家を読んでしたいと思います。
コメントする
※メールアドレスが公開されることはありません。