CMS構築を目的にPHPをベースとしたWordPress、CakePHPやPEARなどオープンソースを中心に解説しています

このサイトをWordPressで構築してあるのですが、気が付けば、ページング処理が入っていませんでした。
その辺いいかげんなので。。。

ページング処理とは、「前の記事」や「次の記事」、または「1 2 3」といったリンクのことですね。WordPressでは、記事リストやアーカイブリストで表示する記事の件数は限られているので、記事が多い場合、ページングがなければトップページから古いページへ辿れないという問題が発生してしまうんです。
記事の件数は限られていると言いましたが、設定は可能です。1ページあたり100件とかにすれば、リンクで辿れるかもしれませんが、ユーザビリティに欠けますね。
このブログも記事数が増え、古いページへの遷移が途切れていました。やっぱりページングは必要です。

そこで早速、テンプレートを編集してみました。

<?php wp_link_pages(); ?>

「1 2 3」といったページングリンクが表示されるはずが、何も表示されません。

調べてみて分かったのですが「wp_link_pages()」は1つの記事を分割した場合にリンクを表示するようですね。それでアーカイブページにも、分割していない記事のページにも何も表示されなかったのです。
一つの記事を分割するほど大量の文章を書くようなブログでもないので、これは必要ないですね。そもそも、ページを分割できるなんて知らなかった。。

記事ページで「前の記事」、「次の記事」へのリンクを表示するためには、それぞれ以下の関数を使います。

<?php previous_post_link(); ?>
<?php next_post_link(); ?>

また、トップページやカテゴリページなど、アーカイブページで「前のページ」、「次のページ」へのリンクを表示するためには、それぞれ以下の関数を使います。

<?php previous_posts_link(); ?>
<?php next_posts_link(); ?>

実際、このブログにも組み込んでみました。

記事間の移動やカテゴリ、アーカイブページで「1 2 3」とリンクを表示する関数は、WordPressにデフォルトでは用意されていないようですね。プラグインとかでできるのかな。

このエントリーをはてなブックマークに追加

Comment

Monthly Archives

Search