0

WordPress 3.7.1 を使用して、作成したページにすべての通常の投稿を表示しようとしています。これを行うために私が取った手順は次のとおりです。

1-という名前のカスタム ページ テンプレートを生成し、Test Page次のコードでロードします
2-Test Pageテンプレートに基づいて TestPage という名前のページを生成します

ページを更新した後、ページに投稿がありませんが、既にいくつか生成しています!

<?php
/*
Template Name: Test Page
*/
?>
<?php get_header(); ?>

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <h1><?php the_title() ;?></h1>  
    <?php the_content(); ?>
<?php endwhile; else: ?>
    <p>Sorry, this page does not exist</p>
<?php endif; ?>

<?php get_footer(); ?>

彼は上記のコードで、実際には、投稿ではなく、TestPage のタイトルとコンテンツのページをロードしています!なぜこれが起こっているのか教えてください。

4

1 に答える 1

1

投稿とページの違いを理解する必要があります。

ページはテンプレートに関連付けられています。コードを介して、このページ/テンプレートを使用して投稿または他のページを一覧表示できます。

上記のコードはページデータのみを表示します

同じテンプレートで異なるデータを表示するために、同じテンプレートを使用して多くのページを作成することは望ましくありません。代わりに、投稿を作成してカテゴリを指定します。

次に、これらの投稿を取得して、テスト ページと同じ方法で表示できます。

get_postsまたはwp_get_recent_postsを使用できます。
または、本当にページを一覧表示したい場合は、wp_list_pagesを使用してください。

それに加えて、http://codex.wordpress.org/Pagesとhttp://codex.wordpress.org/Postsを見てください。

于 2013-11-02T23:38:28.967 に答える