投稿が増えれば増えるほど、どんな内容のPOSTがあるんだかよくわからなくなって不便になるだろうなーって思いながらも、どうせ簡単にできるんだろうから後でいいやと放ったらかしだったカテゴリー内の記事リスト一覧表示画面。

わかりづらくなってきたなーと感じたのでいざ改造してみようとしたら、これが結構思い通りにいかなかったというお話。


色々失敗したのだけれど、とりあえずそれはおいておいて。

まず検索。
カテゴリー一覧のページはarchive.phpを優先的に呼び出すらしいので
index.phpをベースにarchive.phpを作成。

  • the_title(); で、記事のタイトル
  • the_content(); で、記事の本文

今回は各記事のタイトルだけほしいのでthe_title();を使う。

1.なるべく1ページにまとめて表示させたいので、デフォルトの1ページに表示させる記事数を以下の記述で無効にさせる。

20090910_1

2.どのカテゴリーを吐き出してるかわかりやすくしたいので以下を追加

ついでにh2でくるんでおく

20090910_2

3.カテゴリー内の記事の数を表示させたい、ここでハマる。
以下ごり押しで

20090910_3

記事を格納してる配列がどこか(何か)わかれば、それのlengthを参照して簡単にカテゴリ内記事数がわかりそうなんだけど、、、

4.次は

  • 投稿日時「the_time()」
  • カテゴリが複数にまたがってる時があるのでカテゴリ表示「the_category(‘, ‘);」
  • あと最後に編集した時間(よく追記するので)「the_modified_date();」

を表示させる。

20090910_4

5.これで欲しい情報はそろったので
あとは適当にマークアップして、cssで見た目を整えてみる。

20090910_5

以下カテゴリーの数を取り出すのに失敗した方法

get_the_category()でカテゴリのIDを取得して
wp_list_categoriesのincludeにぶち込む
wp_list_categoriesそのままだとliに包まれたり、カテゴリ名を表示されるので
show_count=1&title_li=&style=none&echo=0で色々解除

でもbrだけがどうしてもついてきちゃう。
wp-includesのclasses.phpを編集すればそれもどうにかなるみたいだけど
そこに手を加えたくないのでこの案はボツにしました。


コメントを残す

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

You can add images to your comment by clicking here.