WP3.3.1にアップデートした後、MarsEditやするぷろで過去記事を読み込もうとしたら、なぜか5件しか表示されなくなってしまいました。
最初はMarsEditだけだと思って、MarsEditの設定画面を色々いじってみたのですが全く治らず。そのうちするぷろも同じような状態になったので、これはWordpress自体の設定だな、と思いそちらの設定を見ても特に変更した箇所はありません。
おかしいな、と思って、一度プラグインをすべて外した後、MarsEditで過去記事をリフレッシュしてみると今度は5件以上表示されます。ははぁ、プラグインがうまく動作しなくなったのか、と一つ一つ外してチェックしてみると、どうやらCustom Posts Per Pageというプラグインが原因でした。
このcustom posts per pageというプラグインはどういうプラグインかというと、カテゴリーページやアーカイブページで表示する件数を変更できるというものです。
sorariumでは、カテゴリーページでは上記のようにタイトル一覧にしています。なので、通常カテゴリーページでもindexページと同様に5件になるのですが、それだと読者がせっかくカテゴリーを見てもわかりづらいだろうと思って、すべての記事を表示させていました。
このプラグインがうまく動かなくなっていたようです。
けれども、これを外すと今度はカテゴリーページの記事一覧が5件になってしまいます。
対策としては、category.phpを直接いじります。
[解決済み] カテゴリーページで所属するカテゴリーの記事一覧を表示させたいのです [wordpress forum] を一部参考にさせてもらいました。
<h1><?php echo single_cat_title(); ?> カテゴリの記事一覧</h1> <?php $cat = get_query_var('cat'); $posts = get_posts("order=desc&category=$cat&numberposts=50"); ?> <ul> <?php if($posts): foreach($posts as $post): setup_postdata($post); ?> <li id="catpost-<?php the_ID(); ?>"><?php the_time('y-m-d (D)'); ?> : <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"> <?php the_title(); ?></a></li> <?php endforeach; endif; ?></ul>
category.phpのうち、記事タイトルを表示している部分を上のように記述します。私は記事を公開した日付も入れていますが、php the timeのところは抜いてもらってもかまいません。
numberpost=50で1ページに表示する記事数を決定しています。order=descで降順(新しい日付から古い日付へ)にしていますが、逆がよければ、order=ascにします。詳しくはテンプレートタグ/get posts – WordPress Codex 日本語版を参考に。
何か不具合が起きたら、直前に自分が何をしたか(例えばアップデートや、別のプラグインを入れたとか)をまずは思い出して、原因をつきとめるのが大事ですね。