【WP】固定ページ内で、ページングを実現する

【投稿日】2011年4月9日 21:38【表示回数】23,937 views

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

wp-pagenaviプラグインを利用し、アーカイブページ内でページングさせることは容易にできる。

また、できなかったとしても、参考になるサイトは多く見つかった。

しかしながら、固定ページ内でwp-pagenaviプラグインを利用して、ページングさせようとするとページングリンクはきちんと表示されているが、ページングしても、内容が変わらない(1ページ目の内容が他のページでも同じように表示される)。
調べていくと、wp-pagenaviプラグインの使用上、query_postsが通常の書き方だと動作しないようだ。

けれども、対応方法が分かったので、以下に書き記しておく。
アーカイブページ内で、ページングをさせる

<?php if(have_posts()): while(have_posts()): the_post(); ?>
// 確認のため、タイトルのみ表示
<p><?php the_title(); ?></p>
<?php endwhile; endif; ?>
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
</span>

固定ページでquery_postsを使う
// 最新の5件を取得
<?php query_posts("showposts=5&paged=$paged"); ?>
<?php if(have_posts()): while(have_posts()): the_post(); ?>
// 確認のため、タイトルのみ表示
<p><?php the_title(); ?></p>
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?>

固定ページでquery_postsを使う。かつ、ページングさせる
// 最新の5件を取得
<?php query_posts('posts_per_page=5&paged='.$paged); ?>
<?php if(have_posts()): while(have_posts()): the_post(); ?>
// 確認のため、タイトルのみ表示
<p><?php the_title(); ?></p>
<?php endwhile; endif; ?>
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
<?php wp_reset_query(); ?>

追記:2011.04.10
また、別のマルチブログにおいて、以下のように記述しないと動作しなかった。
なぜ、こんな違いが生じるのか現時点ではわかりません。
// 最新の5件を取得
<?php query_posts($query_string.'&posts_per_page=5'); ?>
<?php if(have_posts()): while(have_posts()): the_post(); ?>
// 確認のため、タイトルのみ表示
<p><?php the_title(); ?></p>
<?php endwhile; endif; ?>
<div class="archive_paging"><?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?></div>
<?php wp_reset_query(); ?>

この記事が属するカテゴリー|WORDPRESS

コメント一覧

  1. amano より:

    popularpostsにこのページング機能を実地することは可能でしょうか?

    よろしかったら教えてください!!

    • dico1225 より:

      おはようございます。

      どのような表示を希望されているのでしょうか?
      ページ内のスポット的コンテンツとしてPopularPostsを表示させたいのでしょうか?

      より具体的な仕様を教えてください。

      • amano より:

        返信ありがとうございます!!!気づくのが遅くてすいません!
        固定ページで表示させていて1ページにpopularpostsの記事を5記事ずつ表示させたいんですが、うまくいかず詰んでいます泣

        page.phpには下記みたいに記入しています。
        $wpp = array (
        ‘range’ => ‘all’, /*集計期間の設定(daily,weekly,monthly)*/
        ‘limit’ => 30,/*表示数は○○記事*/
        ‘cat’ => ‘-3′,/*投稿記事ID非表示*/
        ‘post_type’ => ‘post’, /*投稿のみ指定(固定ページを除外)*/
        ‘title_by_words’ => ’1′,
        ‘title_length’ => ’3′, /*タイトル文字数上限*/
        ‘stats_comments’ => ’0′, /*コメント数は非表示*/
        ‘stats_views’ => ’1′, /*閲覧数を表示させる*/
        ‘thumbnail_width’ => ’250′, /*画像のwidth(px)*/
        ‘thumbnail_height’ => ’250′,/*画像のheight(px)*/
        ‘post_html’ => ‘{stats}{title}{thumb}’,
        /*表示されるhtmlの設定(サムネイル、記事タイトル、の順で表示)*/)

  2. amano より:

    pageNaviというプラグインと連携させようとしたのですが、それもそれで難しくて・・・

    コメント欄に長々とすいませんでした。
    ワードプレスを始めて同時にPHP関連も初心者なので説明が下手だと思います。すいませんm(__)m

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">