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] を一部参考にさせてもらいました。
1 2 3 4 5 6 7 8 9 10 | < 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 日本語版を参考に。
何か不具合が起きたら、直前に自分が何をしたか(例えばアップデートや、別のプラグインを入れたとか)をまずは思い出して、原因をつきとめるのが大事ですね。