妙高市や上越市に縁のある新潟県民がWeb制作に関することを記すホームページ

MENU [+]閉じる [×]
WordPress投稿一覧の1ページ目と2ページ目以降で処理を分ける方法

WordPressでWebサイト制作をしていると、たくさんの投稿を整理するために一覧形式にして「何件目以降はコチラ」みたいにして、番号付きのリンクを設けることがあります(*^▽^*)

いわゆるページ送りとも呼ばれるものですが、Googleで任意のキーワードで検索して、ページの下の方に[Goo…ogle]って表示されますよね?

あれに似たイメージで、WordPressで作られた投稿の件数の多いWebサイトにも、ページ送りの付いた一覧ページを設けることができます。

今回のテーマはそれに関連して「WordPressの投稿一覧の1ページ目と2ページ目以降とで処理を分ける方法」についてです(^-^)!

WordPressの投稿一覧の1ページ目と2ページ目以降とで処理を分ける方法

記述するPHPのコードはコチラです、割とシンプル(*^▽^*)!

<?php $paged = get_query_var( 'paged' ) ? intval( get_query_var( 'paged' ) ) : 1;
if ($paged == 1) {
// 1ページ目で行う処理
} else {
// 2ページ目以降のみで行う処理
} ?>

上記は、$pagedという変数の値が「1」かどうかで処理を切り分けています。

後でも述べますが$pagedの値が「何ページ目か」を示す値なので、基本的にゼロもなければマイナスもないという前提で、1と等しければこの処理、それ以外を2ページ目以降と見なしてこの処理、という形式です。

あるいはもう1つのパターンで、「1より大きい」という条件を「2ページ目以降」と見なして処理を分けるパターンは下記のとおりです。

<?php $paged = get_query_var( 'paged' ) ? intval( get_query_var( 'paged' ) ) : 1;
if ($paged > 1) {
// 2ページ目以降のみで行う処理
} else {
// 1ページ目で行う処理
} ?>

どちらでも同じになるはずですが、状況によっては「こっちの方がやりやすい」という分かれ方はするかも知れません。

状況に応じて、実装しやすい方で試してみてください。

あっ、上記2種類のコードで「1ページ目の処理」と「2ページ目以降の処理」の記述箇所が逆になることだけ注意してください。

上記の方法でWordPressの投稿一覧の「1ページ目」と「2ページ目以降」の処理を分けることが成功しない場合は、別の箇所に原因が存在する可能性があります。

その場合は、PHPの処理を中心に1つずつ見直していってくださいm(__)m

PHPタグ内でどんな処理をしているのか??

PHPの中でどんな処理をしているのか。

普段はあまり説明しないのですが、今回のポイントはほぼ1点だけなので、残しておきます。

ポイントは1行目ですね、抜粋します。

<?php $paged = get_query_var( 'paged' ) ? intval( get_query_var( 'paged' ) ) : 1; ?>

※上記の1行だけをコピペしても処理がうまくいかない可能性がありますのでご注意ください。

[get_query_var( ‘paged’ )]という記述で「現在表示されている投稿一覧のページは、全体の中で何ページ目か?」を判断して、そのページ番号を[$paged]という変数に代入しています。

また[intval( get_query_var( ‘paged’ ) )]というのは、そのページの番号を数値に変換するための処理をしています。

ただ[get_query_var( ‘paged’ )]という処理をするだけでは、1ページ目・2ページ目といったページの番号を「1や2という文字」として解釈してしまって、その後のif文内で大小を比較したりできなくなってしまうんです。

それを解消するため、つまりページ番号を、大小比較したり計算したりできる「数値」という性質のデータに変換するために、この[intval()]という関数のカッコの中に入れていることになります(^-^)v

処理を分けることで何が実現できるか?

例えばですが、投稿一覧のページに「新着情報」のようなタイトルを設けたと仮定しましょうか。

そして、その上部に「新着情報」のようなタイトルを設けたとします。

最新の何件かの投稿の見出しを見終えて「2ページ目も見てみようかな」となった場合に、

「うーん、2ページ目以降にも新着情報のタイトルがどどーんと表示されるのはちょっと鬱陶しいかも…(^^;)」

となった場合に、上記のコードを利用すれば、投稿一覧の1ページ目にはタイトル画像を表示させたままで、2ページ目以降には小さめに表示したり、あるいは非表示にしたりと、切り分けることができるわけです。

そうすると、投稿一覧のページもさまざまな応用が効きそうですよね(*^▽^*)

この記事がWordPressでWeb制作をされている方々に少しでもお役に立てれば光栄ですm(__)m

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

感想などあればコメントください♪

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

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

ページの先頭へ