Commit Graph

11 Commits

Author SHA1 Message Date
Andrew Nacin
3f11180883 Fetch the raw 'Template' header in the WP_Theme constructor. By passing sanitization routines (which are unnecessary for this header), we prevent a persistent themes cache from sanitizing the headers of every theme until/unless they actually need a real header like Name. Note that if WP_Theme was instantiated through get_themes(), this will have no effect, as get_themes() does ask for Name for the keys to return. see #20103.
git-svn-id: https://develop.svn.wordpress.org/trunk@20132 602fd350-edb4-49c9-b593-d223f7449a82
2012-03-07 00:24:23 +00:00
Andrew Nacin
e711e72c40 Fix variable collision in WP_Theme->get() that rears its head when the themes bucket is cached persistently. Also correct the inline doc. see #20103.
git-svn-id: https://develop.svn.wordpress.org/trunk@20126 602fd350-edb4-49c9-b593-d223f7449a82
2012-03-06 22:28:53 +00:00
Andrew Nacin
8d389bac17 Default themes always trump their pretenders. Even though we are no longer keying by name, it is not a good experience to see multiple 'WordPress Default' themes when one was copied and had the directory renamed. This also keeps with the behavior of get_themes() (and the deprecated return value). see #20103.
Allow a default theme within a directory of wp-content/themes (e.g. 'somedir/twentyeleven') to be identified as a default theme.



git-svn-id: https://develop.svn.wordpress.org/trunk@20119 602fd350-edb4-49c9-b593-d223f7449a82
2012-03-06 01:59:50 +00:00
Andrew Nacin
37fe51da66 Provide back compat for $theme->$var where $theme was an array from get_themes() but cast to an object, as had occurred in get_theme_updaes(). see #20173. see #20103.
git-svn-id: https://develop.svn.wordpress.org/trunk@20112 602fd350-edb4-49c9-b593-d223f7449a82
2012-03-04 12:58:41 +00:00
Andrew Nacin
3ec423dc93 Allow get_screenshots() to return absolute URLs. Make this the default; relative can be achieved with 'relative' as the argument. see #20103.
git-svn-id: https://develop.svn.wordpress.org/trunk@20105 602fd350-edb4-49c9-b593-d223f7449a82
2012-03-04 01:16:32 +00:00
Andrew Nacin
5bab3555d7 Use correct variable; return correct value for get_screenshot() when value is uncached. see #20103.
git-svn-id: https://develop.svn.wordpress.org/trunk@20045 602fd350-edb4-49c9-b593-d223f7449a82
2012-02-29 20:46:41 +00:00
Andrew Nacin
f6299042c0 Remove debug cruft. see #20103.
git-svn-id: https://develop.svn.wordpress.org/trunk@20044 602fd350-edb4-49c9-b593-d223f7449a82
2012-02-29 20:41:01 +00:00
Andrew Nacin
47db4344b9 Have WP_Theme::get_screenshot() default to an absolute URI. Allow 'relative' to be requested. see #20103, see #19816.
git-svn-id: https://develop.svn.wordpress.org/trunk@20043 602fd350-edb4-49c9-b593-d223f7449a82
2012-02-29 20:31:56 +00:00
Andrew Nacin
cdaee9042d Translate page template names! Have WP_Theme::get_page_templates() return templates keyed by filename, not by template name, as it makes more sense. Flip this in get_page_templates() to be compatible. fixes #6007.
git-svn-id: https://develop.svn.wordpress.org/trunk@20041 602fd350-edb4-49c9-b593-d223f7449a82
2012-02-29 20:18:53 +00:00
Andrew Nacin
43913e382c (string) WP_Theme is now the theme name, translated. Good replacement for get_current_theme(); better than wp_get_theme()->display('Name'). see #20103, see #20138.
git-svn-id: https://develop.svn.wordpress.org/trunk@20039 602fd350-edb4-49c9-b593-d223f7449a82
2012-02-29 19:27:54 +00:00
Andrew Nacin
53a209a4ee Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
 * Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
 * Error Handling: Broken themes have a WP_Error object attached to them.
 * Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
 * Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
 * i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
 * PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.

Functions deprecated:
 * get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
 * get_theme() and current_theme_info() -- use wp_get_theme()
 * get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
 * wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()

see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.

see #20103.



git-svn-id: https://develop.svn.wordpress.org/trunk@20029 602fd350-edb4-49c9-b593-d223f7449a82
2012-02-28 21:24:44 +00:00