wp カテゴリ一覧ページだけ全件表示

2011/01/25

調べると専用のプラグインを入れたらいいらしいんだけど、希望はプラグインをいれずにやりたいんだ。
ひたすら調べると「query_posts()」ってやつで全件表示が可能とのこと。

  1. query_posts(‘posts_per_page=-1’);
  2. <?php if (have_posts()) : ?>

「posts_per_page=-1」は全件表示。表示したい件数をいれてもOK。

ただ、これだとカテゴリ関係なく全件表示される。
「query_posts()」の引数にカテゴリIDってのがあったのでどうにかしてカテゴリIDをいれることにしてみた。
調べると「get_the_category()」ってのを使えばいいってこと。
調べた結果、はっきりいって…意味わかんねぇ。

ループの中でしか使えないってどういう意味?
「get_the_category()」で取得した値を変数にいれるのはわかるんだけどその中の「[0]」で上書きしてるのはどういうこと?

結局、ずばり回答を書いてくれるサイトを発見。
「<?php if (have_posts()) : ?>」の上に記載したら下記のような感じになった。

  1. <?php
  2. foreach((get_the_category()) as $cats) {
  3.  $catID = $cats->cat_ID;
  4. }
  5. $newQuery = “posts_per_page=-1&cat=” . $catID;
  6. query_posts($newQuery);
  7. ?>
  8. <?php if (have_posts()) : ?>

参考:投稿記事のカテゴリーの情報を出力する

このやり方だと不具合あるので修正。修正方法の記事はこっち(wp カテゴリ一覧ページだけ全件表示(2)

新着(ニュース関連以外)

2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい
2017-11-30
Xampp+FuelPHP1.8をサーバーにupしたらエラーになった。
2017-11-09
PCでプッシュ通知ってのをしたい。
2017-11-06
PHPのバージョンを上げたらwikiが壊れたっぽい。
2017-08-03
formのinputでmaxlengthを使うとFirefoxでバグってた。他のブラウザでも気づかずにバグってたかもしれない。