新手求助:home.php无法加载template-parts目录下的模板文件
解决WordPress模板加载失败的问题
别着急,新手遇到模板加载问题很常见,咱们一步步来排查解决:
1. 先确认你用对了WordPress的模板加载函数
WordPress加载模板部件最常用的函数是get_template_part(),这是官方推荐的方法,比直接用include()或require()更符合主题规范。针对你的情况,正确的调用写法有两种:
- 拆分文件名的slug和name(推荐,符合WordPress命名规范):
这个函数会自动拼接成get_template_part( 'template-parts/content-home', 'default' );template-parts/content-home-default.php去查找文件。 - 直接指定完整的路径前缀(不带
.php后缀):get_template_part( 'template-parts/content-home-default' );
2. 检查文件路径和拼写是否完全正确
- 确认
template-parts文件夹确实和home.php、style.css在主题的根目录下(不是嵌套在子文件夹里)。 - 文件名必须完全匹配:如果你的服务器是Linux系统,大小写是敏感的,
Content-Home-Default.php和content-home-default.php会被当成不同的文件,要确保拼写、大小写完全一致。
3. 检查文件权限
如果路径和拼写都没问题,可能是服务器权限限制导致无法读取文件:
- 确保
content-home-default.php的文件权限设置为644,template-parts文件夹的权限设置为755(这是WordPress主题文件的标准权限配置)。
4. 用调试代码排查是否找到文件
如果还是加载失败,可以在home.php里加一段调试代码,直观定位问题:
// 测试是否能找到目标模板文件 $target_template = locate_template( 'template-parts/content-home-default.php' ); if ( $target_template ) { echo '✅ 找到模板文件:' . $target_template; include( $target_template ); // 找到后直接加载 } else { echo '❌ 未找到模板文件,请检查路径和文件名!'; }
刷新页面后,根据提示就能明确是路径问题还是其他原因。
5. 确认home.php本身是否被WordPress加载
别忘了WordPress的模板层级规则:home.php是用来显示博客文章列表的主页模板。如果你把网站主页设置成了静态页面,WordPress不会加载home.php,而是会使用page.php或你指定的页面模板。
你可以在home.php顶部加一句测试代码验证:
echo '当前正在加载home.php文件';
刷新主页,如果看不到这句话,说明home.php本身没被调用,需要去WordPress后台「设置→阅读」里检查主页的类型设置。
内容的提问来源于stack exchange,提问作者wordpressgirl
相关产品推荐
相关产品推荐

