Missing Template Files Makes WP Fall Back on Default?
-
Hello there, folks.
The other day I was making a new theme by modifying a copy of the default theme. I changed a few things in header.php, footer.php, and style.css, but left the other files alone. Then I deleted all of the unchanged files, so that my custom theme folder contained only the three modified files. I reloaded my site and was rewarded with a blank screen.
I had expected WordPress to fall back to the default theme when a needed file isn’t found in a custom theme, a sort of graceful degradation. But when I started searching around for reasons why this wasn’t happening, I found that WordPress uses all of the template files in a theme or none of them, there is no middle ground. In my opinion, this is not only counter-intuitive, but invites custom themes to become dated more rapidly than necessary. It seems logical that a custom theme should contain only those files that have been modified, so that future changes to the default theme may be automatically inherited by a custom theme.
Ryan’s post at https://www.ads-software.com/support/topic/23641?replies=19#post-133810 indicates that a similar functionality was available, but has since been removed. The stated reasons for this were (i) added confusion and (ii) increased load times as WordPress goes “looking in multiple locations in order to put a theme together.” In response to (ii), WordPress could determine the path to each file when the theme is activated and store the paths for later reference; it wouldn’t necessarily need to construct the theme anew with each page load.
Taking this a step further, using a method similar to the current style.css template header “Template: default” method of assigning inheritance, a custom theme could assign a second theme to initially fall back on, which second theme would then fall back on another theme, if desired, or the default, and so on, until all of the files are located.
In the same thread, Ryan suggests that the theme behavior I’m describing can be accomplished with a plugin. This is beyond my current ability, but if anyone out there has a hack or plugin to make WordPress fall back to a file in the default template when the expected file isn’t found in a custom theme folder, please let me know.
Thanks a bundle,
-Oliver
- The topic ‘Missing Template Files Makes WP Fall Back on Default?’ is closed to new replies.