静的なホームページを使用しているサイトと、Press(press.php
)という投稿ページがあります。テンプレートは正しく引き上げられていますが、投稿は表示されません。何かアイディアは?前もって感謝します。
press.php
<?php
/*
Template Name: Press
*/
?>
<?php get_header(); ?>
<div id="logo">
<a href="<?php bloginfo('url'); ?>"><img src="<?php echo get_template_directory_uri(); ?>/img/parlour_side.png" alt="Parlour Salon logo" id="logo" /></a>
</div><!-- end logo -->
<div id="main">
<div class="content">
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_content('read more...'); ?>
<p><?php the_date(); ?></p>
<?php endwhile; ?>
<?php else : ?>
<p>I'm not sure what you're looking for.</p>
<?php endif; ?>
</div><!-- end content -->
<?php get_footer(); ?>
press.php
のコピーを作成し、それをhome.php
に名前変更します。
"Press"を選択したページは、下のダッシュボードであなたの投稿の指定ページになります。
[設定]> [閲覧]> [投稿ページ]:[Press]
... Miloによってリストされているように、テンプレート階層の制御下に入ります。
最初のWordPressはhome.php
の存在を探し、もし存在すれば、それがあなたのPressページのテンプレートとして適用されます。
存在しない場合は、デフォルトのindex.php
に移動して同じ処理を行います。
Settings> Reading設定の下に設定されたままですが、事実上あなたのpress.php
はあなたのPressページに関して無用です。
通常、カスタムテーマを作成すると、私のindex.php
は次のようになります。
<?php get_header(); ?>
<?php
if(is_home() ) {
include 'homepage.php';
} else {
//do as you wish here... i.e. display normal loop etc
}
?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
例えばhomepage.php
はあなたのカスタムホームページになるでしょう、その結果、あなたは読書でどんな設定も使用する必要はありません。これは、いくつかの方法で実行できるものの非常に単純化された概要にすぎませんが、考えを提示しようとしているだけです。
しかし今のところ、あなたが欲しいのは上記のようにhome.php
を使うことです。
あるページを投稿用のページに指定すると、そのページは従来の意味での「ページ」ではなくなり、割り当てられているテンプレートは使用されません。
WordPressがこのページのテンプレートを選択する方法を確認するには、 テンプレート階層 を確認してください。
ホームページ表示
home.php
index.php