【问题标题】:WordPress posts page PREVIEW using index.php instead of home.phpWordPress 使用 index.php 而不是 home.php 发布页面预览
【发布时间】:2014-07-21 17:07:12
【问题描述】:

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

这里是我的家.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(); ?>

提前感谢您的帮助!

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    Template Hierarchy 不是这样工作的。是的,您的博客页面使用 home.php,如果找不到,则默认使用 index.php。不过,您对首页的假设是错误的。

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

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

    【讨论】:

    • 感谢您为我清理 index.php/front-page.php 的东西,我不知道。我清除了浏览器缓存并重新启动,除了 wordpress 附带的插件(akismet,hello dolly)之外,我目前没有安装任何插件,所以我认为插件缓存与它没有任何关系。还有其他建议吗?
    • 这很奇怪,因为这不是模板层次结构的工作方式。您是否尝试过切换到默认主题之一。我会提出一个建议,删除 index.php,并将 home.php 重命名为 index.php。
    • 我得出的结论是无论什么模板,预览都是在预览主页。我删除了 page/index/front-page.php 并将 home.php 重命名为 index.php,它只是使用我的博客文章模板(我重命名为 index.php)预览主页...混淆
    猜你喜欢
    • 1970-01-01
    • 2013-03-24
    • 2018-05-21
    • 1970-01-01
    • 2020-01-18
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多