为什么将模板文件添加到子主题会导致模板加载.php中出现错误?

时间:2017-03-15 作者:user658182

根据wordpress最佳实践,我为现有主题创建了一个子主题。在我尝试添加一个遵循WP的模板层次约定的模板文件之前,一切都正常。例如,如果我添加类别。php或归档。php,我得到一个白色的死亡屏幕,这是我在Apache中得到的错误:

    [:error] [pid 2919] [client 98.24.106.38:64974] PHP Warning:  include(): 
Failed opening \'/home/www-dev/beokinawa/wp-content/themes/x-child/index.php\' for
 inclusion (include_path=\'.:/usr/share/php\') in /home/www-dev/beokinawa/wp-
includes/template-loader.php on line 74, referer: 
http://dev.bluepresley.com/beokinawa/wp-admin/edit-tags.php?taxonomy=category
每当我上传这些文件后试图查看一个类别时,系统都希望加载类别编辑屏幕url。是什么原因造成的?您还可以从错误中看到,它正在尝试查找索引。php,模板层次结构中的最后一个。If类别。php或归档。如果存在php,那么它就没有理由查找该文件,对吗?

问题是权限,这很有趣。下面是权限的细分。

根据wordpress文档,文件是664个(甚至短暂地将目录和文件更改为777,但也不起作用)

    似乎我无法从wordpress模板层次结构方案中添加任何其他文件。但是,编辑模板零件也可以。父主题带有wp标题。php,wp页脚。php等,我可以添加这些内容并正确进行覆盖。

1 个回复
SO网友:Fayaz

你最初的想法是正确的,WordPress不应该index.php 如果发现category.php 对于类别存档。然而,如果您没有正确设置文件权限和所有权,或者文件系统缓存正在处理file_exists() 检查

遵循以下步骤:

确保web服务器用户能够读取子主题文件。检查文件权限和所有权。

检查子主题是否与父主题正确耦合,如果子主题中缺少任何特定模板,它可以从父主题获取模板。

  • 英寸wp-config.php 使用clearstatcache(); 功能(之前require_once(ABSPATH . \'wp-settings.php\');) 清除文件系统缓存。

    如果您正在添加(&A);在测试和文件系统缓存这些文件时删除这些文件,clearstatcache(); 将帮助您清除那些可能会混淆WordPress核心的文件系统缓存。完成后,移除clearstatcache(); 呼叫

  • 相关推荐

    Shortcode syntax errors

    试图编写一个短代码来创建库,但我遇到了一个分析错误。我的foreach 循环需要校正并返回正确的输出。有什么帮助吗?function allphotos_shortcode(){ $images = get_field(\'fl_gallery\'); if( $images ) { $output .= \'<ul>\'; foreach( $images as $image ) :