サポート » 使い方全般 » single.phpでの投稿記事表示について

  • 解決済 amaama

    (@amaama)


    wordpress初心者です。

    single.php内で下記コードを記載しております。

    <div id="single_content">
    <h2><?php the_title(); ?></h2>
    <?php the_content(); ?>
    </div>

    各記事URLへ移動することは可能ですが
    全ての内容が投稿記事の1件目の内容となってしまいます。

    また、上記コードを

    <?php if(have_posts()): while(have_posts()):
    the_post(); ?>
    <h2><?php the_title(); ?></h2>
    <?php the_content(); ?>
    <?php if(function_exists('related_posts')): ?>
    <?php related_posts(); ?>
    <?php endif; ?>
    <?php endwhile; endif; ?>

    とすると
    全ての投稿記事が表示されてしまいます。

    上記のコードでは、単独の投稿記事ページを表示することができないのでしょうか?
    どなたかご教授いただければ幸いです。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • <?php if(function_exists('related_posts')): ?>
    <?php related_posts(); ?>
    <?php endif; ?>
    <?php endwhile; endif; ?>

    このコード(関連する記事を表示するコード)を記載されてるので、全件?(関連してる記事)が表示されてしまってるのではないでしょうか??

    またsingle.phpでも必ず

    <?php if(have_posts()): while(have_posts()): the_post(); ?>
    <?php endwhile; endif; ?>

    のループを記載する必要があります。

    なので、記載された2つ目のコード

    <?php if(have_posts()): while(have_posts()):
    the_post(); ?>
    <h2><?php the_title(); ?></h2>
    <?php the_content(); ?>
    <?php if(function_exists('related_posts')): ?>
    <?php related_posts(); ?>
    <?php endif; ?>
    <?php endwhile; endif; ?>

    から、関連する記事を表示するコードを削除した以下のコードにしてみたらどうでしょうか。

    <?php if(have_posts()): while(have_posts()): the_post(); ?>
    <h2><?php the_title(); ?></h2>
    <?php the_content(); ?>
    <?php endwhile; endif; ?>
    トピック投稿者 amaama

    (@amaama)

    Hosoya Takashiさま

    ご教授ありがとうございます!

    <?php if(have_posts()): while(have_posts()): the_post(); ?>
    <h2><?php the_title(); ?></h2>
    <?php the_content(); ?>
    <?php endwhile; endif; ?>

    早速上記の通り教えていただいたコードを記載しましたが
    修正されず・・・

    色々試してみたところ、修正箇所前に記載していた
    <?php get_sidebar('single'); ?>
    が問題だったようです。

    こちらのテンプレートの中身が

    <?php $myquery_recent01 = array(
    	'posts_per_page' => 4,
    	'tax_query' => array(array(
    		'taxonomy' => 'category',
    		'field' => 'slug',
    		'operator' => 'NOT IN'
    	))
    ); ?>
    <?php query_posts($myquery_recent01); ?>
    <?php if(have_posts()): while(have_posts()):
    the_post(); ?>
    	<?php get_template_part('content','archivenews'); ?>
    <?php endwhile; endif; ?>

    となっており、修正したところ正常に動作しております!

    初歩的なトピックをあげてしまい、
    Hosoya Takashiさまにはお手数おかけして申し訳ございませんでした。

    大変勉強になりました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「single.phpでの投稿記事表示について」には新たに返信することはできません。