ジャンクワードの森

query_postsにoffsetを入れると、WordPressのページ送りが上手くいかない…

2014-07-16[WordPress

当サイトではアフィリエイト広告を利用しています。

WordPressのカスタマイズで、query_postsとページ送りの相性がイマイチ良くないというのは色々と見ますが、今回スマートフォン用テーマを作るときにもページ送りでハマったので、その部分をピックアップします。
MacBook_Air
よくよく見たら先日書いた「【祝!WPtouch卒業】オリジナルのスマートフォン用テーマ完成!!」ではWordPressの部分をほとんど書いていなかったんですよね…、結構苦労したんですけど^^


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

offset設定がネックだった…

わかってしまえば簡単なことですが、ハマった部分は
「query_posts」を設定してループをかけるときに「offset」があるとアカン
ということです。

どうしてそうなるのか正確なことはわかりませんが、憶測としては「ページ送りの時にoffsetの計算が上手くいかない」ことがあるのかなと。元々指定した分[マイナス]して表示させるので、ページ送りをした時に「どこを基点にマイナスにするのか」がわからなくなるような気はします(あくまでも憶測ね)。

というこで、実際に使っているソースコードはこちら

[php]<?php if (have_posts()) :query_posts($query_string .’&posts_per_page=14&paged=’.$paged); ?>
<?php while (have_posts()) : the_post(); ?>

<div class="entrybox" id="post-<?php the_ID(); ?>"><!–start entrybox–>

<div class="entry"><!–start entry–>
<div class="image"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( ‘thumbnail’ ); ?></a></div>
<div class="title"><h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2></div>
<div class="data-icon"><p><?php the_time(‘Y-m-d’) ?><br /> [<?php the_category(‘│’); ?>]</p></div>

</div><!–end entry–>
</div><!–end entrybox–>
<?php endwhile;endif; ?>

<?php wp_reset_query(); ?>[/php]

<なぜにoffsetしたかったか?>

今回のスマートフォン用テーマではトップページが「最新の1記事を横幅一杯に表示」「2記事目以降は2列で表示」としているため、最新の1記事を2回表示させないのがベストだったからです。でも無理だった…

したがって、現在はトップページに最新の記事が2回登場します(笑
IMG_3378_02

多分「ループの1回目」と「2回目以降」でCSSを変えるとか方法論は探せば出てくると思いますが、時間もないですし、最新の記事が2回でてもそんなに気にならないと言えば気にならないので、そのままにしています(最新の記事数を多くするとまた変わると思いますが…)。

query_postsを使ってページ送りが上手くいかないときはパラメーターをチェック

WordPressのページ送りで、query_postsを使うと上手くいかないことは多々あると思いますが、今回のようにパラメーターが悪影響を及ぼしている可能性もあります。

ですので、動作確認する場合はシンプルな記述で確認してからパラメーターを付けるやり方がいいのかと思います。

↑自分もまさかと思い、外してみたら当たりましたから…

スマートフォン用テーマの作成ではもう少しTips的なことがあるような気はしますが、どのへんがクリティカルなところなのか把握しきれていないので、少し整理してからまとめようかなと思っています。

Sponsored Links

同じカテゴリの最新記事

運営者情報など

運営サポート

35-45 WOMAN

35-45WOMAN(サンゴーヨンゴーウーマン)は、「カッコいいけど身近」な女性向けWEBマガジン。

デザインとかコーディングとか、WordPressの構築とか裏側の部分を一通りやらせていただいています。

ブログ更新のアイテムとかスキルとか