Wordpress没有使用home.php,而是使用index.php作为posts页面。

Wordpress没有使用home.php,而是使用index.php作为posts页面。,php,wordpress,Php,Wordpress,所以我试图让我的博客页面按照模板层次结构使用home.php,但它似乎没有使用它。我还使用了正确使用front-page.php的首页 如果我进入设置->阅读->并选择我的博客页面作为帖子页面,它似乎会跳过home.php并转到index.php 我还转到了外观->自定义并在那里选择了博客页面,当我在那里选择博客页面时,它会临时显示为home.php,但一旦我保存并关闭并返回到博客页面,它就会恢复为index.php 我找到了一个临时解决方案,但这是错误的解决方案。我复制了home.php并将其

所以我试图让我的博客页面按照模板层次结构使用home.php,但它似乎没有使用它。我还使用了正确使用front-page.php的首页

如果我进入设置->阅读->并选择我的博客页面作为帖子页面,它似乎会跳过home.php并转到index.php

我还转到了外观->自定义并在那里选择了博客页面,当我在那里选择博客页面时,它会临时显示为home.php,但一旦我保存并关闭并返回到博客页面,它就会恢复为index.php

我找到了一个临时解决方案,但这是错误的解决方案。我复制了home.php并将其重新命名为archive.php,现在它使用archive.php而不是index。奇怪的是,它似乎根本没有遵循等级制度

我确实发现其他人也有同样的问题,他只是将home.php恢复为index.php:

我使用以下代码(在functions.php中)显示页面使用的模板:

function show_template() {
   global $template;
   if ( current_user_can('administrator') ) {
      print_r("<div class='template-name' style='padding: 5px; border: 3px solid red; background-color: #FFFFFF; position: fixed; bottom: 0; left: 0;'>$template</div>");
   }
}   
函数show_template(){
全球美元模板;
if(当前用户可以(“管理员”)){
打印(“模板”);
}
}   

另一个解决方法是创建页面模板(page blog.php)。在该文件中,确保在顶部添加该文件,以便可以在“模板”下拉列表中选择该文件:

<?php /* Template Name: Blog Page */ ?>


将您的博客页面设置为该模板。然后在阅读部分,如果您还没有或它被重置,请将博客页面设置为您创建的博客页面。

您可以在主题根目录中创建名为page home.php的文件

那里面包括

<?php /* Template Name: Home Page */ ?>

然后创建一个名为主页的页面,并选择模板主页


然后转到设置->阅读->静态页面->首页=Home

您应该使用front-page.php而不是Home.php。不幸的是,模板层次结构描述已经过时,并且没有提到home.php不起作用(尽管它确实声明如果存在front-page.php,它将在index.php之前使用)。

我知道这已经有一年了,但我也遇到了同样的问题,通过删除主题中的每个文件,然后重新上传所有文件来解决


我不知道为什么会起作用,但它确实起了作用。

谢谢,虽然我已经在头版使用了front-page.php,但我不知道home.php已经过时,不起作用了。这解释了很多。