私のブログページには最初に公開されたページのみが表示され、それ以降の投稿は表示されません。私はまた、ページのソースを表示するときに、ブログページがindex.phpの代わりにsingle.phpを使用しているように見えることに気付きました。これは問題でしょうか。
問題のコードは以下のとおりです。
index.php
<?php
/*
Template Name: Blog
*/
?>
<?php get_header(); ?>
<div id="container">
<div id="blog">
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<div id="headline">
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
</div><!-- end headline -->
<div id="post-meta">
<p>written by <?php the_author(); ?> on <?php the_date(); ?></p>
</div><!-- end post-meta -->
<div id="post">
<?php the_content('read more...'); ?>
</div><!-- end post -->
<?php endwhile; ?>
<?php else : ?>
<p>I'm not sure what you're looking for.</p>
<?php endif; ?>
</div><!-- end blog -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
blog.php
は カスタムの静的ページテンプレートです 、はい?
もしそうであれば、プライマリループはそれが適用される静的ページの投稿コンテンツを表示します。
ブログ投稿を表示するカスタムページテンプレートを作成したい場合は、必要なブログ投稿をクエリ/出力するためのsecondary loopを作成する必要があります。 コーデックスの例 に従うと言いますが、この場合はしないでください。この例では現在query_posts()
を使用していますが、これは正しくない実装です。
しかしながら:あなたが実際にここでやろうとしているのはあなたのblog posts indexをカスタマイズすることなのか??もしそうなら、あなたはカスタムページを使うべきではないテンプレートではなく、むしろ、 適切なテンプレートファイルの作成/変更 を使用する必要があります。これは、ブログ投稿インデックス)の場合(優先順位の高い順)です。
home.php
index.php
[設定]-> [投稿数の読み取り]-> [ブログ]ページに表示される値が1以下であることを確認してください。
あなたはこれを直すために働いていないphpテンプレートのセクションを削除したいかもしれません。スターターテンプレートには最初からエラーがあるので、ブログからコピーしたテンプレートを見つけました。だから、どうしてフィードがうまくいかなかったのか。