WordPress使用index.php而不是home.php发布页面PREVIEW

时间:2014-07-21 17:07:13

标签: php wordpress

所以我有点迷失在这里。我已经设置了一个静态首页,将我的主页贴为首页,使用了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(); ?>

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这不是Template Hierarchy的工作原理。是的,您的博客页面使用home.php,如果找不到,则默认为index.php。你对头版的假设是错误的。

首页使用front-page.php(如果找不到),自定义模板或任何page.php类型模板。查看Creating a static front page

到目前为止,您的博客页面存在问题,默认情况下应该使用home.php。我认为为什么它使用index.php是由于一些缓存插件或浏览器缓存。清除这些缓存并检查您的问题是否仍然存在