“カテゴリー画面からの表示“で書いたように、カテゴリーやアーカイブから記事を見ようとすると段落等がくずれて、読みにくい文章になってしまうのをなんとかしようとして、とりあえず記事をリスト化することには一応成功しました。
しかし、まだ解決しなければならない問題がのこっています。
現状、カテゴリーやアーカイブの画面でリスト表示される件数は、Wordperssの設定で一ページに表示する投稿の件数で表示されているようです。「ようです。」というのは、私はHTMLについては素人なので詳しいことがよくわからないのですが、試行錯誤の結果、事実としてそうなっているようだということです。
トップページの表示件数をあまり多くしてしまうのもどうかと思うので10件としていますが、そうするとカテゴリーのページはまだブログを始めたばかりなのでよいですが、アーカイブのリストが10件のみ表示されて、それ以前の10件にたどりつけません。
以前のカスタマイズの結果、コードをシンプルにした影響だと推測されたので、解消する方法をインターネットで検索しましたが今回は答えが見つかりません。
そこでさすがに、限界を感じてきたので参考になりそうな以下の書籍3冊を購入しました。
HTML等のプロを目指したいわけではないので、必要最低限の知識として、まず以下の事を理解しました。
①コードの記述は<ul>/</ul>、<li>/</li>のように<XXX>と</XXX>が対になっているので、この両者に挟まれているのが一つの括りとなる。
②<ul>や<li>をタグと呼び、タグがそれぞれ意味を持っている。
③コードは箱のなかに箱を入れるような感じで記述されることがある。
④<?php>はPHP言語というプログラム言語でHTMLとは異なるものである。PHPの記述は、 <?phpではじまり、”?>”で終わるまでが一つの区切りになる。
以上の程度を理解して、”WordPress レッスンブック 3.x対応”をパラパラとめくっていたら、アーカイブページに”古い記事”および”新しい記事”へのリンクを挿入するという項目を発見。
どうやら、 以下のコードを記述すればよいらしい。
<?php if(is_archive()): ?>
<p class=”pagelink”>
<span class=”oldpage”><?php next_posts_link(‘« ?新しい記事’); ?></span>
<span class=”newpage”><?php previous_posts_link(‘古い記事 »’); ?></span>
</p>
<?php endif; ?>
さて、これをどこに挿入すればいいのかが問題ですが、<div>/</div>の間に入れる必要があるのではないかと思ったので、以前修正したコードの</div>の前に入れてみました。
すると、前後の10件へのリンクが表示されるようになりましたが、”古い記事”、”新しい記事”という日本語が文字化けしてしまっています。
ためしに、英語で”Previous Items”、”Next Items”と該当箇所を変更してみるときちんと表示されました。参考にした書籍ではきちんと日本語で表示されているんですが・・・
おそらく、前回コードを修正した部分に文字化けを防ぐための何かがあったのだと思いますが、これを修正するのは、もとあったコードの内容を理解しなければならず時間がかかりそうなので今後の課題とします。
また、リンクが表示されるようにはなりましたが、リンクの表示箇所が分かりにくいので何とかしたいと思いますし、投稿日時の表示形式についてもシンプルに年月日表示に変更したいと思います。
一応、現状のarchive.phpのコードを以下に記載しておきます。
<?php get_header(); ?>
<div id=”content”>
<ul> <?php if ($posts) : foreach ($posts as $post) : start_wp(); ?>
<li id=”catpost-<?php the_ID(); ?>”>
<a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Permanent Link: <?php the_title(); ?>”>
<?php the_title(); ?></a><br /><?php the_date(”); ?> at <?php the_time() ?>
</li> <?php endforeach; else: ?> </ul>
<p><?php _e(‘Sorry, no posts matched your criteria.’); ?></p>
<?php endif; ?>
<?php if(is_archive()): ?>
<p class=”pagelink”>
<span class=”oldpage”><?php next_posts_link(‘« Previous Items’); ?></span>
<span class=”newpage”><?php previous_posts_link(‘Next Items »’); ?></span>
</p>
<?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
日々成長。