Make WordPress Core

Opened 9 years ago

Last modified 7 weeks ago

#12491 new enhancement

add a pre_template_include filter, so as to allow caching of the template file

Reported by: Denis-de-Bernardy Owned by:
Milestone: Priority: normal
Severity: normal Version: 3.0
Component: Themes Keywords: has-patch dev-feedback
Focuses: performance, template Cc:


rather than running file exists all over the place in the template loader, we should offer the possibility for a plugin to cache the information for use in subsequent pages.

Attachments (1)

12491.diff (784 bytes) - added by Denis-de-Bernardy 9 years ago.

Download all attachments as: .zip

Change History (10)

#1 @nacin
9 years ago

Patch looks fine, though I'm wondering why you didn't place it above 404 as well, just cause.

More so, couldn't you write to cache on the template_include hook and pull from cache on template_redirect?

Seems like a worksforme, considering that the two hooks now seem more than flexible enough for what you're going for.

#2 @Denis-de-Bernardy
9 years ago

re 404, the point would be to write a plugin that looks up the available template files, caches that accordingly, and knows, based on what the WP Query tells it, what file to use without needing to do a file_exists() call.

template_redirect works fine too for this, up to a point:

  • it would mean the plugin needs to handle robots, feeds, etc. it would also mean the plugin would need to manage whatever we add in there in the future.
  • it would re-introduce the inflexibility that led us to introduce the 2nd hook in the first place, i.e. the plugin itself would not be plugin-able.

#3 @hakre
9 years ago

Additionally, and that is not that visible in the trac patch browser, pre_template_include is building a good pair to template_include, a principle that you can find more and more often within the codebase.

#4 @nacin
9 years ago

Apparently I had misread the diff, and thought 404 was processed before the filter. Obviously, filter comes first in the diff.

#5 @nacin
9 years ago

  • Milestone changed from 3.0 to 3.1

#6 @nacin
9 years ago

  • Milestone changed from Awaiting Triage to Future Release

#7 @nacin
5 years ago

  • Component changed from Optimization to Template
  • Focuses performance added

#8 @nacin
5 years ago

  • Component changed from Template to Themes
  • Focuses template added

#9 @chriscct7
4 years ago

  • Keywords dev-feedback added
Note: See TracTickets for help on using tickets.