2015/2/20

WordPressのPaginationでoffsetする時に気をつけること

WordPressネタが投稿される時は、大概必死に戦っている時です。query_postsでoffsetかけたい時、たまにありますよね。1つ目だけ全然違う表示にしたいとか。まあカウントしてやっても良いと思うのだけど、割とだるい。

query_posts($query_string.'&posts_per_page=10&$offset='.$offset.'&paged='.$paged);

こういうやつ。ただ、これoffset使うと、wp_pagenaviのページングとかうまく機能しないみたいなんですよね。よく考えたら、offsetの値が常に固定だと、ずっとそこからループ始まるわけで、これをアップデートしてやらないといけない。

WP-PageNaviとoffsetの関係 -WordPress(ワードプレス) (wald-grun/blog)

$perpage = 10;
$offset = ($page-1)*$perpage+9;
query_posts($query_string.'&posts_per_page=25&$offset='.$offset.'&paged='.$paged);

みたいな感じになります。ちなみに1ページ目だけoffsetにあたる部分の処理をさせたい時は単純に

if($paged == 0):

みたいに処理してやれば良いみたいです。

昨日も別件で仲間と、これなんだ?って言ってググッていたら、僕のブログ出て来たと言われ、まあこういうメモは残しとくの大事。

ひとり仕事: フリーランスという働き方
(2012-10-5)
売り上げランキング: 14,705
100円
WordPressデザインレシピ集
狩野 祐東
技術評論社
売り上げランキング: 197,569
WordPress 高速化&スマート運用必携ガイド
こもりまさあき 岡本渉
エムディエヌコーポレーション
売り上げランキング: 435,263

加藤 康祐 / 企画・設計

1980年1月12日生まれ。フリーランス歴15年。プランナー、デザイナー。加藤康祐企画設計代表。学生時代にデザイン会社でWebデザインを経験。2005年よりフリーランスとしてキャリアスタート。これまでに個人から上場企業まで、100以上のクライアントとのプロジェクトを経験。主な仕事としてベンチャー企業でのサービスのUXデザイン、独法との防災メディアの編集・運営、社会的養護の子どもたちの自立を支援するNPOのサポート等。趣味はラグビーと料理。Keep the head up, Bind tight & Stay low.

加藤康祐企画設計

是非、フォローしてください!
Twitter / Instagram