2016-11-14 221 views
0

我在开发一个WordPress主题时遇到了home.php问题。Home.php无法正常工作

我正在尝试制作一个显示最新帖子的页面。我确定这被称为'home.php'。

我正在关注包含home.php模板的教程。问题是,home.php没有被读取。相反,似乎浏览器显示index.php而不是home.php。我知道它不会发布home.php中的任何内容,因为如果我从home.php中删除所有代码并将其保存为空白文档,它对浏览器显示的内容没有任何影响。

这里的PHP/HTML我使用:

<?php get_header(); ?> 

<div class="row"> 
    <div class="span8"> 

    <h1>News</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> 
<hr> 

<?php endwhile; else: ?> 
<p><?php _e('Sorry, there are no posts.'); ?></p> 
<?php endif; ?> 

</div> 

<div class="span4"> 
<?php get_sidebar(); ?> 
</div> 

</div> 

<?php get_footer(); ?> 
+0

这可能有助于解释一些模板顺序:https://developer.wordpress.org/themes/basics/template-hierarchy/#home-page-display –

+0

您是否有名为'front-page的模板文件。 PHP的呢?什么是您的“首页显示”设置设置为? – j08691

+0

在WordPress管理界面中,您在“设置 - >阅读 - >首页显示”下的设置是什么?这与前面提到的front-page.php的存在或缺失相结合将决定是否在你的网站的根URL上显示“home.php”。 (这是网站的根网址,你看,是吗?) –

回答

0

您开行<?php get_header(); ?>更改为以下

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

然后去和WordPress管理区域内创建一个网页,并分配该页面通过更改此屏幕快照中的下拉菜单来使用名为“主页”的模板:http://smb-infogroup-dpr.d.pr/Jw4P/2cXQVFLL

然后,您需要转到Settin gs>在此屏幕截图中阅读并设置两个选项:http://smb-infogroup-dpr.d.pr/Svk0/58SLZIEq。第二个选项将是您创建并分配模板的页面的名称。

index.php是默认使用的模板文件,除非您将静态页面分配给主页。