なまら春友流

ラーメン屋店主兼ブロガーの春友がラーメン、ガジェット、日常について書くブログ

WordPressでサブループを設置して「次ページへのリンク」もなんとか有効にできた際の備忘録

Sponsored Links


13 wordpress logo1


WordPressのカスタマイズで最も苦労したのがループに関して。
サブループは設置できたけれどなぜか次ページへのナビゲーションリンクが全て1ページ目になってしまう。
ってことで備忘録として。

Sponsored Links


通常のループ



まずは通常のループ。
いわゆるブログ記事を新着順に表示してゆくためのループ。
PHPコードはこんな感じ。


[html]

ここに出力するため(引っ張ってくるため)のコードを書き込む

[/html]


こちらのサイトの説明がわかりやすい。

〜WordPressテーマ作成中③ ループ編〜 | tamuログ


ちなみに私のコードはこんな感じ。


[html]

  

[/html]


3行目で content から記事を引っ張ってきていて、 excerpt から以下の写真のようなものを読み込んでいるということ。

スクリーンショット 2012 04 25 13 45 23



サブループ

こちらがサブループのためのPHP。


[html]

have_posts()) : ?>
have_posts()) : $my_query->the_post(); ?>
ここに出力するため(引っ張ってくるため)のコードを書き込む


[/html]


こちらの記事がわかりやすい。

wordpressでトップページを固定ページに設定して新着記事も表示する | DAICHIFIVE blog

私のコードはこんな感じ。


[html]

have_posts()) : ?>
have_posts()) : $my_query->the_post(); ?>

   ” alt=”” width=”210″ height=”126″ />
   
   



(この方法は別エントリーで書きます)

これでサブループが設置されて万事O.Kだと思ってた…

ページのナビゲーションリンクが全てトップページにorz



スクリーンショット 2012 04 25 14 17 51


↑ このサイトの下には表示しきれていない記事を表示させるためのナビゲーションリンクが設置されている。
これが「2」を押しても「3」を押しても全てトップページしか表示されなくなった。
サブループを設置してから。
最もわからなかった部分。
参考にさせてもらった @kuroji さんの記事でも書かれている wp_reset_query(); も書いてるし。

WordPressで新着記事へのリンクを投稿の上に設置する方法 | NANOKAMO BLOG
気をつけなきゃいけないのが、 wp_reset_query();という部分。これを書かないと、どの記事も新着1記事目の内容になってしまいます。これにハマって大変でしたw …

でググってもなかなか解答が見つからない…
ググること1時間…
グググ…

結論から言うと、通常のループの記述をいろいろ弄ってるうちに変更してしまっていたみたい。
通常のループが、


[html]


  

[/html]


上記のように1行目のコードを書き加えてた!
過去に複数ループを作成しようとしたけれど挫折した残骸がそのまま残っていた。
この1行目がなければちゃんとナビゲーションは動いたのだけれどこの時は気付きもせず orz
で、下記のように変更。


[html]




[/html]


これで O.K 。
ちなみに、posts_per_page=10&paged=’ . $paged っていうのはメインのループに10記事表示して、その続きの記事を適切に表示するということ。
もし、posts_per_page=10&paged=2 というように設定すると2ページ目が常に表示される。
その後ろの記述「 . $paged 」は適正な続きのページに割り振りますよ、という意味らしい。
実は「WordPressデザインブック」に書いてあった、ちゃんと読まないとね(汗)
PHPをまだきちんと言語として理解してはいないけど、「こうしたらこうなりました」ってことを書いてみました。
もし誰かのご参考になれば。




Sponsored Links


LEAVE A REPLY

*
*
* (公開されません)

Return Top