[WP] プラグインを使わずカテゴリーページで記事タイトル一覧にする方法

スポンサーリンク

WP3.3.1にアップデートした後、MarsEditやするぷろで過去記事を読み込もうとしたら、なぜか5件しか表示されなくなってしまいました。

最初はMarsEditだけだと思って、MarsEditの設定画面を色々いじってみたのですが全く治らず。そのうちするぷろも同じような状態になったので、これはWordpress自体の設定だな、と思いそちらの設定を見ても特に変更した箇所はありません。

MarsEdit

おかしいな、と思って、一度プラグインをすべて外した後、MarsEditで過去記事をリフレッシュしてみると今度は5件以上表示されます。ははぁ、プラグインがうまく動作しなくなったのか、と一つ一つ外してチェックしてみると、どうやらCustom Posts Per Pageというプラグインが原因でした。

このcustom posts per pageというプラグインはどういうプラグインかというと、カテゴリーページやアーカイブページで表示する件数を変更できるというものです。

01 暮らし カテゴリ  sorarium

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 日本語版を参考に。

何か不具合が起きたら、直前に自分が何をしたか(例えばアップデートや、別のプラグインを入れたとか)をまずは思い出して、原因をつきとめるのが大事ですね。

スポンサーリンク
この記事をお届けした
sorariumの最新ニュース情報を、
いいねしてチェックしよう!

シェアする