サポート » 使い方全般 » 最新記事一覧を2件目から表示させたい

  • simejikinoko

    (@simejikinoko)


    http://satohmsys.info/wordpres-ispaged/
    上記サイトを参考にして、コードを記述しましたが動きませんでした。
    参考サイトの最終的なコードを丸丸コピペしてみると、<ul class=”loop1″> は表示されましたが、<ul class=”loop2″>は丸丸表示されず、なぜかサイドバーまでdisplay:none したかのように丸丸消えてしまいました。ソースにもサイドバーがないので<?php get_sidebar(); ?>自体読み込まれてないようなかんじです。

    実現したいこと
    ・1ページ10記事表示

    home.phpの1ページ目のみ 
    最新記事 2番目~11番目(10記事分)

    home.phpの2ページ目から~
    最新記事 12番目より10記事分づつページ送り
    ——————

    参考サイトでは、1番目の記事をページネーション内にいれるために、showposts や !is_paged を指定してますが、私はレイアウトのために1番目の記事は個別で書き出しているので省きます。

    <ul>
        <?php
      $firstID = get_the_ID(); //投稿の最初の記事ID
      $args = array(
         'posts_per_page' => 10,
    	 'paged' => get_query_var('paged') ,
    	 'post__not_in' => array($firstID)
    
      );
      $st_query = new WP_Query( $args );
    ?>
        <?php if ( $st_query->have_posts() ): ?>
        <?php while ( $st_query->have_posts() ) : $st_query->the_post(); ?>
        <li>
          <?php the_time( 'Y年m月d日' ); ?>
          <br />
          <a href="<?php the_permalink(); ?>">
          <?php the_title(); ?>
          </a></li>
        <?php endwhile; ?>
        <?php else: ?>
        <p>新しい記事はありません</p>
        <?php endif; ?>
      </ul>

    上記を記述してみると、'post__not_in' => array($firstID)が効いておらず、1番目の記事も出力されてしまいました。
    ‘post__not_in’ => array($firstID) を ’post__not_in’ => array(24) など、投稿記事IDを指定してみると、ちゃんと該当ID記事が省かれて出力されました。

    参考サイトではループ外で get_the_ID(); を指定することで「最初の記事のIDを取得している」というようなことが書いてあると思うのですが、私のコードでは取得できてないようです。

    offsetを使用すると、ページネーションが使えなくなったり無理やり修正が必要になるそうなので、post__not_in を使用したいと思っています。
    最新記事の1番目の記事を取得し、post__not_in に当てはめるにはどうしたらよいのでしょうか。

2件の返信を表示中 - 1 - 2件目 (全2件中)
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「最新記事一覧を2件目から表示させたい」には新たに返信することはできません。