我为您提供了一个变通方法,它可能比仅仅在父主题文件中编写修改要好,因为奥托提到的原因,这当然是不可取的。
如果将这两行PHP添加到要在子主题目录结构中使用修改副本的任何文件的顶部:
<?php
$filepath = str_replace(get_option(\'template\'), get_option(\'stylesheet\'), __FILE__);
if (file_exists($filepath)) {include($filepath); return;}
?>
当然,在主题升级后,您仍然需要对每个文件再次执行此操作,因此建议您记下这些文件,可能不再直接更新主题,而是下载主题,将这些行添加回本地,并通过FTP上载更新的副本。
这似乎不值得这么麻烦,但它可以让您将自定义修改的文件保存在子主题结构中,而不会被任何主题更新覆盖。同样,只需将这些行重新添加到要保持覆盖的任何父文件的顶部。
这还意味着您可以删除修改后的子功能文件副本,而不破坏您的站点(例如,针对更新的主题文件进行测试),因为如果找不到修改后的副本,这将返回到原始文件。
(CEM打字编辑:替换第一个get_options
使用呼叫get_option
.)