カテゴリーアーカイブ

WordPressで今見ているカテゴリーのIDを取得し、query_postsに代入(改)

先日、WordPressで今見ているカテゴリーのIDを取得し、query_postsに代入という記事を投稿しておりました。
プログラムさっぱりだけどそれなりにできんじゃん♪と悦に浸っていたら、うちのプログラマからこれ違うよってツッコまれました。うへー。
やっぱ餅は餅屋ですな。
igarashiが3時間かかってどうにかこうにかカタチっぽいものにしたPHPをプログラマは10分で何とかしてしまいましたよすごいなオイへこむわorz
続きを読む »

WordPressで今見ているカテゴリーのIDを取得し、query_postsに代入

そもそもは、カテゴリーアーカイブページで、そのカテゴリーの記事を1件だけ表示したかったわけです。
普通に考えれば、WordPress各種設定で表示記事件数選んでおしまいなんですが、とあるプラグイン入れたら記事が全部出るようになってしまいました。
じゃあプラグインやめればいいじゃん、というわけにもいかず…。

で、仕方ないので、
query_posts()というWP用のテンプレートタグを使用することにしました。
こいつは、ループタグの条件を指定するという、よくわからない(でもよく使われる)タグです。
要は、エントリー記事を何件出すかとか、どういう順番で出すかとか、決まったカテゴリーの記事は出さないとか、そういう指定ができるタグです。
これで、エントリー記事を1件出すという指定をしました。
<?php query_posts(’showposts=1′); ?>

そうしたら、カテゴリー無視で一番新しい記事が1件表示されるようになりました。つまり、どのカテゴリーを見ても同じ記事。グヘー。
それじゃあget_post()じゃないか。ジャマイカ。
get_post()は、最新記事を取得するタグです。query_posts()を流行に弱い新し物好きにしたような感じです。違うか。

どうしてquery_postsで最新記事をとってくるのかさっぱりわからないです。オイオイそれはget_postの役目だぜ。
しょうがないので、カテゴリーも指定することにしました。
<?php query_posts(’cat=1′); ?>
これで、カテゴリーIDが1の記事を呼び出します。
しかし、これだと、どのカテゴリーでもカテゴリーID1の記事が出てしまいます。
cat=○の部分に各カテゴリーのIDが入って欲しい。しかも自動的に。
(IF文を駆使すれば、手作業でも出来ると思いますが、そんな面倒なことは御免)

で、がんばってみました。
そしたらナントカなったので、追記より。
PHPの基礎のキの字も知らんのによくできたわ。正直ナントカなってしまったことにびっくりしています。
続きを読む »

このページの先頭に戻る