新潟県妙高市を拠点とする、ホームページと広告の相談相手

MENU [+]閉じる [×]
WP-PageNaviを使ってみる(一覧でページ送りを表示するWordPressプラグイン)

WordPressに限らず、CMS(コンテンツ・マネジメント・システム)と呼ばれるものを使っていると、ページ送りっていう考え方があるんです(*^▽^*)

ほら、ブログでも一覧ページに記事が数件ずつ表示されていて、コレより古い記事・新しい記事を見ようとするとき「前へ」「次へ」みたいなボタンが付いているのを見たことがありませんか?

アレです。

でも新着記事っていうのは、更新するたびに「最新@件」の顔ぶれが変わる訳なんですよね(^^;)

それを開発者が自作っていうのは、けっこう時間的コストのかかるモノなんです。

便利なツールがあるなら、それを使わない手はありません。

そんなときにご紹介したいのが、WordPressを使っている方なら一度は目にされた方もいるかもしれないプラグイン「WP-PageNavi」です!

私は「WPページナビ」と呼んでいます(^^)b

この記事の目次

WordPressプラグイン「WP-PageNavi」について

WordPressのプラグイン「WP-PageNavi」は、コチラのページで紹介されています。

皆さんが管理されているWordPressの管理画面のプラグインの新規追加画面でも、キーワードに「WP-PageNavi」を入力されると出てくる…ハズです。

管理されているサイトの諸々を事前に確認して、問題無いと判断できたら有効化してみてください(^^)

ページの先頭へ戻る

最短1行のコードで実現できるシンプルなページ送り

さぁ、有効化したら、phpファイルに追記する内容は1行だけです。

それがコチラ!

<?php wp_pagenavi(); ?>

もしくは、もう少し念を押して表記するなら、こんな感じかな(^^)??

<?php if(function_exists('wp_pagenavi')) {wp_pagenavi();} ?>

どちらも[wp_pagenavi()]という関数を呼び出していることに違いはありません。

この関数を呼び出すことで、前もって有効化しておいた「WP-PageNavi」のプラグインが効果を発揮します。

上記2つの違いを述べるならば、前者はwp_pagenavi()の関数をそのまま呼び出しています。

一方で、後者はwp_pagenavi()の関数がWordPressの仕組みの中に存在していれば呼び出すというモノ。

具体的に例えるならば…、

前者は「オカダさん呼んできて!」

後者は「オカダさん、もし居たら呼んできて!」

みたいなものです。

存在しているかの確認をするorしないの違いであって、ここでの「WP-PageNavi」の場合は、プラグインを有効化した直後なので「存在する」ハズですから、両者に違いは無いはずです。

ただし、プラグインを入れてしばらくして、別のプラグインを更新したりテーマファイルを更新したりで、諸事情でwp_pagenavi()関数が動作しなくなっちゃった場合、あるいは手違いで消しちゃった場合に備えるならば、万全を期す意味では後者の記述でも良いかも知れません。

(私は前者で済ませる場合がほとんどです…、念のため)

(さらに余談ですが、オカダさんって妙高市で多い苗字らしいんです…)

ページの先頭へ戻る

対処法:「WP-PageNavi」を使って2ページ目が表示されない場合

そんな風に、簡素な記述で過去の思い出の記事までカンタンに掘り起こしてくれる便利なプラグイン「WP-PageNavi」(*^▽^*)

時々、思い通りに動かない場合もあるんです。

世の中には完璧なモノはありませんから、仕方が無いと言えば仕方が無い…。

具体的にいうと、私が過去にハマったケースとしては、2ページ目以降をクリックしたのに表示されているのが1ページ目のままというモノでした(^^;)

つまり記事一覧のページで、1ページあたり5件ずつ表示されているとしましょうか。

記事数はとにかくいっぱいある状態をイメージしてください。

その状態で、最新記事一覧のページを表示させた場合、1ページ目は「1番目に新しい記事から5番目に新しい記事」が表示されていました。

これはOKです(^^)

でも、最新記事一覧の2ページ目を見ようと「2」のリンクをクリックしたら…、

「1番目に新しい記事から5番目に新しい記事」

つまり、ページ送りのリンクをクリックしてもぜんぜん変化しなかったんです!

この場合、本来なら2ページ目に表示されるのは「6番目に新しい記事から10番目に新しい記事」ですよね?

「ページ送りのリンクをクリックしても過去の記事が表示されない問題」を解決するかもしれないコード

ページ送りのリンクで2ページ目以降をクリックしても、最新の記事が表示されている場合(1ページ目と表示が変わらない場合)の解決方法はないでしょうか。

色々調べましたが、私はこのようなコードを書いています(^^)v

<?php query_posts( array( 'post_type' => 'post','posts_per_page' => 5,'paged' => get_query_var('paged') ) ); ?>
<?php if(have_posts()):while(have_posts()):the_post(); ?>
<h1><?php the_title(); ?></h1>
<p><?php the_content(); ?></p>
<?php endwhile;endif; ?>
<?php wp_pagenavi(); ?>

一般的な記事一覧の取得のコードは[]から始まっている場合が多いですよね?

その記述でも、ページ送りが無事に行えているサイトも私は知っていますが、そうでない場合は一覧取得のコードの直前に、下記のコードを追加します。

<?php query_posts( array( 'post_type' => 'post','posts_per_page' => 5,'paged' => get_query_var('paged') ) ); ?>

[query_posts]で記事一覧の取得条件をしっかり設定しておくことがポイントです。

特に[’paged’ => get_query_var(‘paged’)]の箇所ですね(^^)

まずは[post_type]で[post]つまりWordPressにデフォルトで入っている「投稿」に属するコンテンツであることを指定します。

(カスタム投稿タイプから記事一覧を取得する場合は、カスタム投稿タイプ名を指定してみてください。)

次に[posts_per_page]で、記事一覧の1ページあたりに表示される件数を指定します。

ここでは「1ページあたり5件ずつ」と指定しています。

そして、肝になるのが変数[paged]です( ̄▽ ̄)!

ざっくり言うならば、

「今、何ページ目?」

という値を指定するものです。

ここに「2」なり「3」なりを指定することで、記事一覧の2ページ目、3ページ目、…のようにして過去の記事が表示されるようになるはずです。

この値が指定されていないことで、ページ送りの2ページ以降でも「1ページ目に該当する内容」が表示されていた可能性があります。

[query_posts]のコードの書き方は上記だけではありませんので、他のパターンも調べるなどして、サイトに合った実装で試してみてくださいね( ^∀^)

こちらのページでも、詳細に説明してくださっています。

もしもページ送りで迷っていたら、記事の取得条件を再度、見直してみてください。

解決することがあるかも知れません。

この方法でもダメだったら、スミマセンが別の方法を調べてみてください(^^;)

ページの先頭へ戻る

この記事の感想をお寄せください

[WP-PageNaviを使ってみる(一覧でページ送りを表示するWordPressプラグイン)]の感想を、下記のリンク先の「感想投稿フォーム」よりお気軽にお寄せください。
メールアドレスは不要です。

感想投稿フォームへ

いいね!と思っていただけたらSNSでシェアしてください♪

関連記事一覧:WP-PageNaviを使ってみる(一覧でページ送りを表示するWordPressプラグイン)

WordPressでホームページを制作したことのある方なら「ワードププレスのディレクトリ問題」に直面された方もいらっしゃるかと思います。 WordPres …… 続きを読む

ホームページを作る上で「titleタグ(タイトルタグ)」というものが重要な要素の一つになります。 皆さんがブログを書いている場合は、その投稿画面で入力した …… 続きを読む

シリーズ「妙高Web屋のホントは公表したくないホームページ制作」です。 皆さんはホームページを作りたいとお考えになって、制作業者さんやデザイナーさんといっ …… 続きを読む

Copyright (C) 妙高Web屋 All Rights Reserved.

ページの先頭へ