所以我有点迷失在这里。我已经设置了一个静态首页,将我的主页贴为首页,使用了index.php,并且我已经将我的静态帖子页面声明为我的新闻&活动页面。
现在,每当我进行更改并尝试预览我的新闻和事件页面,它使用我的index.php模板而不是我的home.php(我印象中的是静态帖子页面的默认模板)。
奇怪的是,每当我导航到新闻与娱乐时事件页面通过实际网站而不是预览,一切都正确显示并使用正确的home.php模板。所以,从本质上讲,一切都按照我想要的方式工作,但事实上预览将我带到index.php /我的主页(即使URL显示我应该预览正确的页面ID),我担心。
这是我的index.php
<?php get_header(); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php the_content(); ?>
<?php endwhile; else: ?>
<p><?php _e('Sorry, this page does not exist.'); ?></p>
<?php endif; ?>
<?php get_footer(); ?>
这是我的home.php
<?php get_header(); ?>
<section id="news">
<div class="row">
<div class="container">
<div class="col-md-8">
<h1 style="margin-bottom:50px">News and Events</h1>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<p><em><?php the_time('l, F jS, Y'); ?></em></p>
<p>Category: <?php the_category(', ') ?></p>
<p><?php the_tags(); ?> </p>
<hr>
<?php the_excerpt(); ?>
<?php comments_template() ?>
<?php endwhile; else: ?>
<p><?php _e('Sorry, there are no posts.'); ?></p>
<?php endif; ?>
</div>
<div class="col-md-4" style="margin-bottom:50px">
<?php get_sidebar(); ?>
</div>
</div>
</div>
</section>
<?php get_footer(); ?>
提前感谢您的帮助!
答案 0 :(得分:0)
这不是Template Hierarchy的工作原理。是的,您的博客页面使用home.php,如果找不到,则默认为index.php。你对头版的假设是错误的。
首页使用front-page.php(如果找不到),自定义模板或任何page.php类型模板。查看Creating a static front page
到目前为止,您的博客页面存在问题,默认情况下应该使用home.php。我认为为什么它使用index.php是由于一些缓存插件或浏览器缓存。清除这些缓存并检查您的问题是否仍然存在