サポート » 使い方全般 » 「next_posts_link(次ページ)」の使用法について

  • 解決済 regza

    (@regza)


    はじめまして。
    フォーラムの他の投稿を参考に試したですが、うまく動作させることが出来ず。
    PHPの知識にも乏しいため投稿させて頂きました。

    WP/3.2.1にて

    http://ja.forums.wordpress.org/topic/5946?replies=7

    上記の投稿様とほぼ同じような状況の動作を得たく。

    • 1.カスタム投稿タイプで記事を作成
    • 2.固定ページを使ってカスタム投稿タイプを一覧表示させるテンプレートを作成
      (サムネイル写真と一部の情報を掲載)
    • 3.最新の9件の記事以降は「次ページへ」

    というような動きをさせたく順番に作業を進めました。

    記事を作成して、固定ページのテンプレートを作ったり
    記事を羅列出力(次ページへを作らない)するところまでは出来ているのですが

    「次ページへ」を表示させることができません…。
    そもそもコード自体の記述で致命的な間違いがありそうですが、はっきりと分かりません。

    ☆★—————————–★☆

    <ul>
    
     <?php
       $paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
       query_posts('post_type=private&tag=diary'. $paged );
       get_template_part('items');	
    
      wp_reset_query()
      ?>
    
    </ul>
    
    <p class="L"><?php previous_post_link(); ?></p>
    <p class="R"><?php next_post_link(); ?></p>

    ☆★—————————–★☆

    ※get_template_part(‘items’); は
    以下をカスタムフィールドテンプレートから読み込んでいます

    ☆★—————————–★☆

    <?php if(have_posts()): while(have_posts()): the_post(); ?>
    
    <li>
     <p><?php echo(get_post_meta(get_the_ID(),'タイトル',true)); ?>/p>
     <a href="<?php the_permalink(); ?>" target="_self">
     <?php echo(get_post_meta(get_the_ID(),'画像',true)); ?></a>
     <p><?php echo(get_post_meta(get_the_ID(),'説明',true)); ?></p>
    </li>   
    
    <?php endwhile; endif; ?>

    ☆★—————————–★☆

    解決できる糸口でも教えていただきたいので、ご教授の方よろしくお願いします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック投稿者 regza

    (@regza)

    すいません。
    上記の投稿の中で、自分で整理できていない部分があったので追記します…。

       

    • 原状、最初の投稿のコードで記事(サムネイル写真と一部の情報を掲載)は「羅列されない状態」です。

      ☆★—————————–★☆

      $paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;

      ☆★—————————–★☆

      ↑↑を省くことでサムネイル自体は羅列されました。

    •  

    • 「次のページ」へのリンクは表示されているのですが、
      「別の固定ページ」へのリンクになっている状態です。

    目標としては

    ・サムネイルを羅列表示させて、カスタム投稿タイプを使った最新の9件の記事と「次のページ」へのリンクを表示させたい。

    です。
    大変読み難くなり申し訳ないのですが、よろしくお願いします。

    モデレーター jim912

    (@jim912)

    regzaさん、こんにちは。

    まず、ページ送りをするなら

    $paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;

    は必須です。そのかわり paged パラメータとして指定されるようにしてください。

    query_posts('post_type=private&tag=diary&paged='. $paged );

    つぎに、next_posts_link が効かない原因ですが、wp_reset_query の位置との関係にあります。
    wp_reset_query は文字通り、query_postsで行った内容をクリアし、もとの状態(regzaさんの場合は固定ページ)に戻す役割を担っているため、wp_reset_queryのあとに記述をしても2ページ目がないと判断され表示されないという訳です。

    トピック投稿者 regza

    (@regza)

    im912さん

    動作に理由まで丁寧にご回答いただき、ありがとうございました。
    教えいただいた通りに修正をして、目的の動作をさせることができました。

    調べていく上でnew WP_Queryでも実現可能だということで、色々収穫になりました。
    私もいつか回答する側になれるよう、がんばりたいと思います。
    ありがとうございました!

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「「next_posts_link(次ページ)」の使用法について」には新たに返信することはできません。