フォーラム

[解決済み] ページでページングを利用したい (5 件の投稿)

  1. kaname
    メンバー
    1 年前の投稿 #

    こんにちは。
    フォーラムや他サイトなど、いつもお世話になっています。

    今回作成しているブログで、サイトの構成上「ページ」の中にてループで
    記事を一覧表示していますが、記事数が多くなってきたので、ページングを
    利用してアクセスしやすいようにしたいと考えています。
    そこで、テンプレートタグの「posts_nav_link」を利用してみましたが、
    「前の記事」、「次の記事」をクリックしても、最初に表示されたページしか
    表示されませんでした。

    続いて、WP_PageNaviというプラグインをアクティベートして利用してみましたが、
    表示する記事の総数は取得できているようなのですが、リンクのどの数字をクリックしても
    「posts_nav_link」同様に、最初に表示されたページしか表示されませんでした。
    ちなみに、検索結果ページではページングは普通に動作しています。

    お伺いしたいのは、

    1.そもそもページではページングが利用できないのか?
    2.利用できる場合は、どうやったら動くようになるのか。。。

    の2点です。
    ブログは下記のようにカスタマイズしています(簡単な説明ですが。。。)。
    何かご存知の方、同様のご経験がおありの方、ご教授いただければ幸いです。
    よろしくお願いいたします。

    ■利用しているバージョン
    Wordpress 2.3.3(日本語版)

    ■カスタマイズ
    ・サイドバー・・・最近の記事(5件)をループして表示、特定のカテゴリー(5件)をループして表示
    ・メイン部・・・特定のカテゴリを除く全ての記事の一覧を表示

  2. lilyfan
    メンバー
    1 年前の投稿 #

    今回作成しているブログで、サイトの構成上「ページ」の中にてループで
    記事を一覧表示していますが、

    具体的にどのようなコードを書いていますか? wp(), query_posts() 関数を使っているとすると、そこにページ番号が入っていないと、常に1ページ目を取得しようとしてしまいます。
    引数に paged=$paged を追加してみてください。これでもうまく動かないなら、以下のようにしてみてください。

    $paged = get_query_var('paged');
    wp(".....&paged=$paged");
  3. kaname
    メンバー
    1 年前の投稿 #

    >lilyfanさん

    こんばんは。
    早速のレスありがとうございます!
    お返事が遅くなってごめんなさい。

    具体的にどのようなコードを書いていますか? wp(), query_posts() 関数を使っているとすると、そこにページ番号が入っていないと、常に1ページ目を取得しようとしてしまいます。

    query_posts()を利用して記事を取得しています。

    <?php query_posts("cat=-17,-21&showposts=10"); ?>
    <?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>

    上記のようなコードです。
    どうしても除外したいカテゴリがあったので、そのためにquery_postsを利用しています。

    ページ番号を入れるのは・・・知りませんでした(>_<)
    ありがとうございます!
    早速入れてみた・・・のですが・・・。
    動かなかったんです。。。

    $paged = get_query_var('paged');

    も、試してみたのですが、動かないので$pagedをechoで吐き出してみると、中身が空なんです。。。
    どういうことなのでしょう。。。(?_?;)
    サイドバーで、同じようにquery_popstsで記事を取得しているのですが、それが悪さしているんでしょうか。

    いろいろ調べて、下記のサイトさんで紹介されている複数のクエリを実装する方法を発見しました。
    試してみて、また結果を報告しますね。

    Side-B様
    http://side-b.sto.co.jp/weblog/archives/96#more-96

  4. On3
    メンバー
    1 年前の投稿 #

    kanameさん こんばんは

     showposts=N を posts_per_page=N にすれば出来ますよ。
    詳しくは「テンプレートタグ query posts」で検索してみてください。

  5. kaname
    メンバー
    1 年前の投稿 #

    >On3様

    おはようございます。
    レスありがとうございます!

    早速教えてもらった方法で試しましたら、うまくいきました!
    ありがとうございます~~~~~(>▽<)ノシ
    2ヶ月ぐらいずっと悩んでいたので、動いたときには感動ひとしお、でしたっ。

    下記のコードで動きました。
    同じ悩みの人は、試してみてくださいね。
    ちなみに、「複数のクエリを実装する」方法を取り入れなくても実現できました。
    あと、おかげさまでWP_PageNaviも動きました!
    lilyfan様、On3様、本当に感謝です! ありがとうございました。

    <?php query_posts('cat=-17,-21&posts_per_page=5&paged='.$paged); ?>
    <?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>

返信

ログイン しなければ投稿できません。

About this Topic