• 解決済 tri3shnyirl5a3f

    (@tri3shnyirl5a3f)


    初心者です。
    テーマを自作しているのですが、index.phpに最新記事を表示させています。
    タイトルにリンクを貼っているのですが、どの記事へのリンクをクリックしても
    1番新しい記事が表示されています。
    例えば

    http://localhost/2017/09/26/145756
    http://localhost/2017/09/23/184516

    とリンクがあるのですが、同じ記事が表示されてしまいます。
    Twenty〜などのテーマに変えると、問題なく動作するのですが、
    どこが間違っているのかわかりません。
    何が原因でしょうか?

    index.phpは以下のとおりです。
    ————————————-
    <?php //最新の記事5件まで表示させる
    query_posts(‘showposts=5’);
    if (have_posts()) : while (have_posts()) : the_post(); ?>

    <dl class=”post”>
    <dt><?php get_template_part(‘profile’); //書いた人のアイコン ?></dt>
    <dd class=”meta”>
    ” class=”caption”><?php the_title_attribute(); //the_permalink()でその記事のURLを取得 ?><br />
    <span class=”date”><?php the_time(‘Y年n月d日H:i(D)’) ?></span>
    <span class=”cat”><?php the_category(‘, ‘); ?></span>
    <span class=”tag”><?php the_tags(‘ ‘); ?></span>
    <span class=”author”><?php the_author(); ?></span>
    <span class=”edit”><?php edit_post_link(‘編集’,'<div class=”edit”>’,'</div>’); ?></span>
    </dd>
    <dd class=”entory-content”>
    <?php the_content(); ?>
    </dd>
    </dl>

    <?php endwhile; else : ?>
    <p><?php _e( ‘記事がありませんでした。’ ); ?></p>
    <?php endif; ?>

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    テーマを自作しているのですが、index.phpに最新記事を表示させています。

    index.phpというのは、WordPressテーマにおいてはトップページに適用されるファイルではありません。
    他に当てはまるPHPファイルが無かった時に最後に適用されるテンプレートファイル、と決まっています。

    参考
    テンプレート階層 – WordPress Codex 日本語版

    上記は難しいかもしれないのでこちらもどうぞ
    WordPressのテンプレートファイルの種類とテンプレート階層 | Mignon Style

    ですので、index.phpに「最新記事を5件表示」という記述をしてしまうと、(他に当てはまるファイルがない場合)全てのページで「最新記事を5件表示」してしまいます。

    上記の記述は、index.phpではなく front-page.phpに書くのが正解です。

    ※もう少し理解が進んでからで良いですが、query_posts(‘showposts=5’);の記述は古い解説をご覧になったのだと思います。今はこの記述は使わないほうがいいことになっています。
    手前味噌で恐縮ですが、以前、こっちのほうがよいよというブログ記事を書いたので参考にどうぞ。

    「WordPressのトップページに、新着記事数件を表示する」サンプルコード
    https://mypacecreator.net/blog/archives/1981

    トピック投稿者 tri3shnyirl5a3f

    (@tri3shnyirl5a3f)

    ありがとうございます。
    つい今しがた、mypacecreatorさんのサイトを拝見しておりました。

    front-page.phpは既に作っており、
    設定でフロントページをfront-page(固定ページ)、投稿をblog(固定ページ)としています。

    以下のページで説明されている構造です。
    サイトトップをfront-page.php、記事が投稿されるblog部分がindex.phpになっている状態です。
    https://ateitexe.com/blogtop-page-try-and-error/

    • この返信は7年、 4ヶ月前にtri3shnyirl5a3fが編集しました。
    トピック投稿者 tri3shnyirl5a3f

    (@tri3shnyirl5a3f)

    headerで最新記事のタイトルを取得していた部分が干渉していたようです。
    少し糸口が見つかりました。
    お騒がせしました。

    トピック投稿者 tri3shnyirl5a3f

    (@tri3shnyirl5a3f)

    解決済

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「URLと違う記事(常に同じ)が表示される」には新たに返信することはできません。