2016-11-14 220 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是默認使用的模板文件,除非您將靜態頁面分配給主頁。