サポート » 使い方全般 » index.phpの1ページ目とそれ以降のページの処理

  • 解決済 imaim

    (@imaim)


    index.phpで、1ページ目だけにAを表示させて、2ページ目以降はBを表示させたいっていうはどうやればいいですか?
    is_front_page, is_homeとか試したんですが、できなくて。。。
    下部に試したコードを記します。

    <?php if(is_home()): ?>
    A
    <?php else: ?>
    B
    <?php endif; ?>

    <?php if(is_front_page()): ?>
    A
    <?php else: ?>
    B
    <?php endif; ?>

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • 提示されたソースでAとBの表示分けできましたが?
    index.phpとはどこのindex.phpを指していますか?ご自身で作成されたテーマで、かつそのテーマを適用されていますか。
    もう少し状況などをご説明いただけますでしょうか。

    トピック投稿者 imaim

    (@imaim)

    すみません、説明が足りませんでした^^;

    まず、自分で作ったテーマです。
    index.php, style.cssしか入ってません。
    6個くらい投稿がありまして、設定→表示設定から表示投稿数を2個にしています。
    溢れた投稿は、previous_posts_link()とnext_posts_link()で処理しています。

    具体的には、

    <?php if(is_home()): ?>
      <li id=”prev”><span class=”noMore”>no more previous page</span>
    <?php else: ?>
      <li id=”prev”><?php previous_posts_link(‘Prev’); ?>
    <?php endif; ?>

    上記でやろうとすると、すべてのページにis_homeだった時の処理がされてしまいます。

    ん~、実際に上記ソースを自分のindex.phpに貼り付けてみましたが、TOPページのみ「・no more previous page」が表示され、カテゴリ及び月別アーカイブページには何も表示されませんでした。(意図した動作ですよね?)
    その記述をどの位置に記述しているのでしょう?ループの中であるとか、ページの下のほうであるとか。(少なくとも一番上に記述した分には動いているようですよ?)

    <?php get_header(); ?>
    <?php get_sidebar(); ?>
    <div id="content">
    <div id="innerbox">
    <?php if(is_home()): ?>
      <li id="prev"><span class="noMore">no more previous page</span>
    <?php else: ?>
      <li id="prev"><?php previous_posts_link('Prev'); ?>
    <?php endif; ?>
    <?php if( have_posts() ) : while( have_posts() ) : the_post(); ?>
    <div class="post">

    試したコードの上から一部です。

    トピック投稿者 imaim

    (@imaim)

    お返事ありがとうございます。

    なるほど。。。
    ループの上でも下でもダメでした。
    どのページでもno more prebious pageが出てしまいます。

    サイトURL?paged=2
    サイトURL?paged=3

    アクセスしてる2ページ目3ページ目は上記のURLです。

    何か設定し忘れている部分があるのでしょうか?
    足りないphpファイルとかもあるんでしょうか。

    ちなみに、生成した時にできるデフォルトの記事とページは消去済みです。

    条件分岐タグ is_paged() を使って、

    <?php if ( !is_paged() ) : // 1ページ目 ?>
    
    <?php else : // 2ページ目以降 ?>
    
    <?php endif; ?>

    のようにすればいいのではないでしょうか?

    トピック投稿者 imaim

    (@imaim)

    皆様

    ありがとうございました!
    mizube様のやり方で無事解決いたしました。

    コンディショナルタグについてもっと勉強しないとですね。。。

    mizube様ありがとうございます。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「index.phpの1ページ目とそれ以降のページの処理」には新たに返信することはできません。