WordPressのカスタム投稿でarchive内ページネーションを作る方法


予想以上にドはまりしてもう一生やりたくないよ!ってくらいやりたくないのでここでまとめておきますw

相当ごりごりっと解決してしまったのでもっとスマートにやりたかったんですが、色々検索して出てきたものがことごとくうまくいかなかったのでしょうがないです・・・

流れとしては、

  • $wp_queryを一時保存して、新たにWP_Queryクラスのインスタンスを$wp_queryに上書きする形で作る
  • GETの値を調べる(ページが今何ページか調べる)
  • ページネーションの関数で出力する
  • $wp_queryを元に戻す

なぜ$wp_queryを上書きするかというと、デフォルトで多くの関数が$wp_queryを使用して関数の出力を行っているためです(まぁglobalなんでね)

実行環境としては

  • PHP 5.4.24
  • WordPress 3.6.1

それでは以下コードになります。

functions.php

archive.php

これで自分の場合ちゃんと動きました!

最後に

WordPressでもよくあるだろうページネーションでこんなに大変な思いをするとは思ってませんでした。
でももともとページネーションは複雑ですししょうがないですよね。最終的にどうにかなってよかったです。

なんだかんだで一番わかりやすかった気がします

WordPress レッスンブック 3.x対応
エビスコム
ソシム
売り上げランキング: 8,707

更新情報はFacebookページで!

ブログの更新、読んで役立つ他ブログの記事などを更新しています。




関連のある記事


質問があればこちらからどうぞ

カテゴリーPHP

コメントを残す

メールアドレスが公開されることはありません。


*