サポート » プラグイン » wp-pagenavi 正常表示されない件について

  • お世話になります。
    プラグイン「wp-pagenavi」を利用しており、indexページ以外は正常に表示されるのですが、どうしてもindexページのquery_posts部分だけ上手く表示されません・・・。

    色々なサイトを参照してみたのですが、ちょっとお手上げ状態です。

    現在のquery_posts部分コードは以下の通りです。
    <?php $page2=(($paged-1)*16 ); ?>
    <?php query_posts(‘cat=-ID&posts_per_page=16&offset={$page2}’); ?>

    どうかご教授頂けますでしょうか。
    宜しくお願いします。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • モデレーター jim912

    (@jim912)

    Sviurrさん、こんにちは。

    上手く表示されないというのが、具体的にどう上手くいっていないのかわかりません。
    wp-pagenavi 自体の表示が上手くいかないのか、ページ送りをしても表示される内容が変わらないということなのか。

    前者であれば、wp-pagenavi のテンプレートタグを記述している場所の問題だと思いますし、後者であれば、$pagedの変数が正しくセットされていない可能性があります。

    トピック投稿者 Sviurr

    (@sviurr)

    jim912さん、ご返信ありがとうございます。
    「上手く表示されない」は、ページ送りをしても変わらず1ページ目だけが表示されるという現象です。
    説明不足すみませんでした。

    query_postsでTOP16記事から出すようにしてるのですが、Page2を押してもPage1の状態になっています。
    $pagedの設定どうしたものか検討つかず・・・

    パーマリンクは大丈夫ですか?
    アドレスを手打ちして2ページ目が出て来ますか?

    トピック投稿者 Sviurr

    (@sviurr)

    solasolaさん
    URL/?paged=2、URL/?paged=3とページ送りするとアドレスバーに表示はされますが、依然1ページ目のままです。カテゴリやアーカイブでは次ページ問題なく動くのに・・・。くぅ

    ちょっと古いですが、

    http://www.yuriko.net/arc/2008/07/26/navigation/

    これ試してみたらいかがでしょうか

    モデレーター jim912

    (@jim912)

    Sviurrさん、solasolaさん

    URLで表示は出来ても内容が1ページ目のままというのは、pagenavi側の問題ではなく、query_postsのパラメータの問題であると思われます。
    ですので、他のページナビを利用しても解決はしません。(ページナビは、単にURLのリストを表示するだけですから)

    まずは、最初に用いている $paged の内容がどうなっているかを確認して下さい。確認方法は下記を参照して下さい。

    PHPを学ぶ時、最初に憶えて欲しいvar_dump

    2ページ目を表示しても $paged の内容に変化がなければ、$paged をちゃんと取得できるようにしなければなりません。下記は表示しているページ数を取得するサンプルコードです。

    $paged = get_query_var( 'paged' );
    if ( ! $paged ) {
    $paged = 1;
    }

    ちなみにフロントページを固定ページにしているとページ送りできません。
    参考:トップページを固定ページにしたらページ送りができません。

    トピック投稿者 Sviurr

    (@sviurr)

    や、やっと出来ました!
    jim912さんの助言参考にしつつ、offsetでまとめようとしていた部分をシンプルに戻しました。

    <?php $paged = get_query_var( ‘paged’ ); ?>
    <?php query_posts(‘cat=-ID&posts_per_page=16&paged=’.$paged); ?>

    動いた瞬間感動しました!
    皆様、本当にありがとうございました!

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「wp-pagenavi 正常表示されない件について」には新たに返信することはできません。