Commit Graph

303 Commits

Author SHA1 Message Date
Helen Hou-Sandi e599566ce4 Implement theme support for structured-post-formats, which will supercede theme support for post-formats. Usage is the same as declaring support for post-formats: `add_theme_support( 'structured-post-formats', array( 'quote', 'video' ) )`. Adding `structured-post-formats` support also adds `post-formats` support for the given format(s) underneath.
Declaring support for a given format indicates that the theme handles format-specific metadata; admin UI will not change based on theme-declared support of either variety as it did previously. If no `structured-post-formats` support is explicitly declared for a format, a post in that format will have fallback output utilizing that metadata applied. In this way, a theme can style core-provided output for a full post format experience without having to handle metadata in any way.

props nacin. see #23347.


git-svn-id: https://develop.svn.wordpress.org/trunk@23467 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-21 22:48:09 +00:00
Sergey Biryukov 35453dc623 Properly check if the custom header/background has been initialized. fixes #23170. see #22246.
git-svn-id: https://develop.svn.wordpress.org/trunk@23367 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-01 20:33:27 +00:00
Helen Hou-Sandi 1303e7377a its <=> it's in documentation, along with a rogue the, The, and looses. props trepmal. fixes #22665.
git-svn-id: https://develop.svn.wordpress.org/trunk@23191 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-20 15:55:32 +00:00
Andrew Nacin a3023b8483 In get_custom_header(), support a default header that is registered using default-image but not register_default_headers(). fixes #22221.
git-svn-id: https://develop.svn.wordpress.org/trunk@22669 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-19 06:59:25 +00:00
Andrew Nacin 0c23ef3cf0 In switch_theme(), make sure there are no residual template_root or stylesheet_root options remaining if there is only one theme root registered. see #22252.
git-svn-id: https://develop.svn.wordpress.org/trunk@22545 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-11 21:51:27 +00:00
Andrew Nacin 7216663b0b Ensure $_wp_default_headers is set before iterating over it in get_custom_header(). props jeffsebring. fixes #22221.
git-svn-id: https://develop.svn.wordpress.org/trunk@22544 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-11 19:11:27 +00:00
Andrew Nacin df6d81af5b Allow get_custom_header() to handle a default registered header that has yet to be saved to the database. fixes #22221.
git-svn-id: https://develop.svn.wordpress.org/trunk@22436 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-07 20:12:47 +00:00
Andrew Nacin 32c92b7a01 If we have not yet initialized the custom header/background, do not do extra removal in _remove_theme_support(). fixes #22246.
git-svn-id: https://develop.svn.wordpress.org/trunk@22313 602fd350-edb4-49c9-b593-d223f7449a82
2012-10-26 04:17:25 +00:00
Andrew Nacin 556332cee8 Revert [22274]. see #22246.
git-svn-id: https://develop.svn.wordpress.org/trunk@22312 602fd350-edb4-49c9-b593-d223f7449a82
2012-10-26 04:16:49 +00:00
Ryan Boren 307979a247 Avoid notices in _remove_theme_support(). Props alex-ye, SergeyBiryukov. fixes #22246
git-svn-id: https://develop.svn.wordpress.org/trunk@22274 602fd350-edb4-49c9-b593-d223f7449a82
2012-10-23 13:20:40 +00:00
Jon Cave a24f3fcefc Prevent accidental body class concatenation by replacing (no-)customize-support with a space
The regular expression used by wp_customize_support_script() replaces all spaces
surrounding the matching class. This caused other classes to be merged together.

Props johnpbloch, SergeyBiryukov. Fixes #22103.


git-svn-id: https://develop.svn.wordpress.org/trunk@22132 602fd350-edb4-49c9-b593-d223f7449a82
2012-10-07 14:58:12 +00:00
Andrew Nacin be7d33f10d URL encode the theme stylesheet passed into wp_customize_url(). see #21749.
git-svn-id: https://develop.svn.wordpress.org/trunk@21713 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-03 23:58:30 +00:00
Ryan Boren 92ea34f6a2 Use set_url_scheme(). Props johnbillion, MarcusPope. see #19037 #20759
git-svn-id: https://develop.svn.wordpress.org/trunk@21664 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-30 13:33:00 +00:00
Ryan Boren f149e8752d Use set_url_scheme() in _custom_background_cb() to properly set the scheme for the background image when is_ssl(). Props jkudish. fixes #18005
git-svn-id: https://develop.svn.wordpress.org/trunk@21629 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-27 20:25:53 +00:00
Andrew Nacin f3e45be558 Allow switch_theme() to take a single $stylesheet argument.
It now effectively has two function definitions:
function switch_theme( $stylesheet )
function switch_theme( $template, $stylesheet )

fixes #21075.



git-svn-id: https://develop.svn.wordpress.org/trunk@21131 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-26 05:21:04 +00:00
Andrew Nacin 3647231af6 When looking in a sub-directory of wp-content/themes for more themes, check
if that specific directory exists before looking inside of it for style.css.

This avoids warnings when open_basedir restrictions are in effect.

props goldenapples. see #20985 for trunk.



git-svn-id: https://develop.svn.wordpress.org/trunk@21126 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-26 03:36:03 +00:00
Andrew Nacin 38bc915f96 Introduce wp_clean_themes_cache() for upgrades and testing. fixes #20954.
git-svn-id: https://develop.svn.wordpress.org/trunk@21080 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-14 14:24:25 +00:00
Ryan Boren 46dba7300c Fallback to /themes when there is no theme root. Props duck_. see #20919
git-svn-id: https://develop.svn.wordpress.org/trunk@21063 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-12 15:57:11 +00:00
Andrew Nacin 8c9bce5737 Do not specify background-image: none when a user removes a custom background
on a theme that has a default background image.

The onus is on the theme to omit the default background-image from style.css,
to allow the user to remove the default background image. Or, the theme can
specify a background-image for the body selector, as long as they then zero
it out for body.custom-background, like so:

{{{
body {
	background-image: url( ... );
}
body.custom-background {
	background-image: none;
}
}}}

This allows the theme to be compatible with the custom background feature
but also gracefully degrade if the background feature is disabled.

This is the same behavior as 3.3; setting a default image has simply been
made more prominent in 3.4. Reverts [21013], also parts of [21001].
see #20448 for change and discussion history.

see #20132, which will now be marked as invalid.

Also, per previous changes in #20448, the custom-background class should not
be shown when only a default color is in use.

fixes #20448.



git-svn-id: https://develop.svn.wordpress.org/trunk@21054 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-11 21:25:05 +00:00
Ryan Boren 329f3b2fd1 Namespace the customize request arg to prevent collision with plugins and themes. Props nacin. fixes #20862
git-svn-id: https://develop.svn.wordpress.org/trunk@21016 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-07 01:29:57 +00:00
Daryl Koopersmith 299642f86b Theme Customizer: Fix scrolling on iOS and Kindle Fire. props azaozz, helenyhou. fixes #20805.
Also fixes uploader UIs on iOS and Kindle Fire by improving wp.Uploader.
Adds mobile viewport specifications.
Moves scrollbar back to fixed positioning.


git-svn-id: https://develop.svn.wordpress.org/trunk@21014 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-06 21:45:17 +00:00
Andrew Nacin 26ff506998 Add some comments to _custom_background_cb() to explain the logic. see #20448.
git-svn-id: https://develop.svn.wordpress.org/trunk@21002 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-05 18:44:31 +00:00
Ryan Boren 2dbb51b71f Fix removing the default background image for themes that hard-code the default in css. Honor the default background image for themes that do not provide a fallback in css.
* <style> will appear if there is a default image registered. This is the same as 3.3.
* If only a default color is registered, it still assumes it is in the stylesheet, and no <style> will appear. This is a change from 3.3.
* <style> will continue to appear as before if there is a custom background color or image. This is the same as 3.3.
* This then allows for a default background image with background-image: none, overriding style.css. This is new.

Props nacin
see #20448


git-svn-id: https://develop.svn.wordpress.org/trunk@21001 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-05 18:35:31 +00:00
Ryan Boren b85e8d138c Custom background fixes:
* Specify default background colors for the bundled themes.
* Change the default custom background callback to only operate on saved values, rather than default values.
* Prevent an unsaved default value from overriding a manually modified style.css file.

Props nacin, kobenland
fixes #20448


git-svn-id: https://develop.svn.wordpress.org/trunk@20973 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-01 20:31:50 +00:00
Andrew Nacin e7e922b356 Theme Customizer: As customize.php without a theme parameter defaults to the current theme, update wp_customize_url() to make $stylesheet optional and update references for the current theme.
see #19910, #20751, #20575.



git-svn-id: https://develop.svn.wordpress.org/trunk@20934 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-26 15:32:05 +00:00
Daryl Koopersmith e0fc4ce778 Hide 'Customize' toolbar item when customizer is not supported. fixes #20751, see #19910.
Removes script queue check for 'customize-loader' from wp_customize_support_script(), because we may want to check for customize-support on a page without the loader.


git-svn-id: https://develop.svn.wordpress.org/trunk@20918 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-25 22:26:00 +00:00
Daryl Koopersmith c88445c82d Theme Customizer: Improve default background property handling. see #20600, #19910.
If the custom background default wp-head-callback (_custom_background_cb) is used, we use postMessage for all custom background properties. Otherwise, we use full refreshes.

When using postMessage, the preview recalculates the custom background CSS block, allowing it to omit CSS values when they are not present and fall back on the original CSS.


git-svn-id: https://develop.svn.wordpress.org/trunk@20908 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-25 18:41:22 +00:00
Andrew Nacin 85eb57bd89 Preview by default the registered default image for custom backgrounds. props mfields, billerickson.
If there is a default color registered, show a 'Default' action rather than a 'Clear' action, as clearing the value would simply return to the default.

Make current_theme_supports() accept a second argument for 'custom-background' requests, the same as get_theme_support(). Missed in earlier changes, see #20249.

fixes #20734, fixes #18041.



git-svn-id: https://develop.svn.wordpress.org/trunk@20901 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-25 17:58:57 +00:00
Daryl Koopersmith b1a672cdfa Theme Customizer: Add CORS checks to the initial check for customize support. Prevents flash of customize links on large pages. see #20582, #19910.
Add wp_customize_support_script(), to quickly alter the body class based on whether customize is supported.


git-svn-id: https://develop.svn.wordpress.org/trunk@20893 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-25 00:15:12 +00:00
Daryl Koopersmith 779749b437 Theme Customizer: Fix hash-based loader fallbacks. see #20736, #19910, [20886].
git-svn-id: https://develop.svn.wordpress.org/trunk@20890 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-24 22:45:27 +00:00
Daryl Koopersmith acdce48f5c Theme Customizer: Check for CORS support when the preview and admin urls are cross-domain. Add a fallback to the customize control frame, and check support there as well. see #20582, #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20886 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-24 21:13:21 +00:00
Daryl Koopersmith 4b9f6216e9 Theme Customizer: Change 'Return to...' link to 'Cancel' and move 'Save' button to header. props helenyhou, fixes #20692, see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20864 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-24 03:29:51 +00:00
Andrew Nacin aba958e81c Customize API shuffling.
* Rename WP_Customize to WP_Customize_Manager.
 * Move customize-controls.php to wp-admin/customize.php.
 * Make customize.php the formal entry point, rather than admin.php?customize=on.
 * Rename is_current_theme_active() to is_theme_active().
 * Add getters for the theme, settings, controls, and sections properties.
 * Allow customize.php (no ?theme=) to load the active theme. Not used yet.
see #20736.



git-svn-id: https://develop.svn.wordpress.org/trunk@20852 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-23 17:56:42 +00:00
Daryl Koopersmith 5c77fcc30b Theme Customizer: Properly change state when theme is switched. fixes #20610, see #19910.
* Causes the Manage Themes page to refresh if the customizer is closed after the active theme is switched.
* Changes the text of the 'Save and Activate' button once the theme has been activated.
* Improves the naming of the customize control settings.
* Add events to customize.Loader and make callbacks more flexible.
* Makes the customize-loader l10n compatible with non-admin settings.
* Adds WP_Customize->is_current_theme_active().
* Minor style corrections, including jQuery.attr/prop changes.



git-svn-id: https://develop.svn.wordpress.org/trunk@20802 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-16 05:55:54 +00:00
Andrew Nacin bd4441edc6 display_header_text() should only return true if the theme mod value is not 'blank'. An empty string is valid -- there is no requirement for it to be truthy. see #18887. see #20600.
git-svn-id: https://develop.svn.wordpress.org/trunk@20772 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-11 19:55:07 +00:00
Andrew Nacin dd57074aed Make admin-head-callback optional for custom headers. Reverts part of [20684]. fixes #20603.
git-svn-id: https://develop.svn.wordpress.org/trunk@20712 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-03 13:30:55 +00:00
Andrew Nacin bf5decbacf Require both wp-head-callback and admin-head-callback for custom header theme support. fixes #20603.
git-svn-id: https://develop.svn.wordpress.org/trunk@20684 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-02 15:16:48 +00:00
Andrew Nacin e55d1f54e2 Undeprecate require_if_theme_supports() for themes using it for legitimate reasons. see [20610]. props scribu, jkudish. fixes #20556.
git-svn-id: https://develop.svn.wordpress.org/trunk@20642 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-30 02:02:11 +00:00
Andrew Nacin 98f553c3b2 Deprecate require_if_theme_supports(). Always require post-thumbnail-template.php. fixes #20556. fixes #20409.
git-svn-id: https://develop.svn.wordpress.org/trunk@20610 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-27 04:54:36 +00:00
Andrew Nacin 60e9ca67ec Initialize the WP_Customize class in a prefixed global. props mattonomics. fixes #20465.
git-svn-id: https://develop.svn.wordpress.org/trunk@20600 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-25 21:30:02 +00:00
Andrew Nacin 23755473ac If a cached theme root is no longer registered, skip it. Assume the cache is out of date. see #20103.
git-svn-id: https://develop.svn.wordpress.org/trunk@20551 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-20 13:22:54 +00:00
Andrew Nacin 66bea4d318 Always return a WP_Theme object from wp_get_theme(). If we can't find the theme root, assume the default theme root. (Which will probably result in a WP_Theme object that returns false for the exists() method, which is fine.) see #20361.
git-svn-id: https://develop.svn.wordpress.org/trunk@20524 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-19 03:33:42 +00:00
Daryl Koopersmith e5a53305a2 Theme Customizer: Remove unused 'template' argument from wp_customize_url. see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20520 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-18 20:57:06 +00:00
Andrew Nacin bfae415dd9 Move to admin.php?customize=on&theme=$stylesheet, rather than juggling both template and stylesheet values. see #19910.
Combine the setup_theme() and customize_previewing() methods. Remove the set_template() and set_stylesheet() methods. Add set_theme() method to WP_Customize to store the working WP_Theme object. We will use this for the stylesheet and template.

Use the WP_Theme display() method when preparing headers for display, not get() or the deprecate properties.



git-svn-id: https://develop.svn.wordpress.org/trunk@20496 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-17 21:43:47 +00:00
Daryl Koopersmith bb5254fe36 Theme Customizer: Integrate with browser history. Use window.history by default, with window.onhashchange as a fallback. fixes #20337, see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20488 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-16 23:07:23 +00:00
Andrew Nacin 266a785f77 Theme Customizer: Stick to wp_customize_url() instead of wp_customize_href(). Switch argument order so it is stylesheet-template. (Template is hypothetically optional, but the function will not support that.) see #19910.
Move to ->display('Name'), as ->get('Name') is a raw, untranslated version of the header.



git-svn-id: https://develop.svn.wordpress.org/trunk@20477 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-16 14:36:47 +00:00
Daryl Koopersmith a43958baeb Theme Customizer: Allow the customize iframe to be accessed directly (with full feature support). see #19910.
* Move the 'Return to Manage Themes' and 'Collapse Sidebar' actions from themes.php to customize-controls.php.
* Create a postMessage connection between themes.php and customize-controls.php.
* Allow the theme customizer to be accessed directly (independent of themes.php and the customize loader).
* Add wp_customize_href() and wp_customize_url().
* Remove wp_customize_loader(). To include the loader, use wp_enqueue_script( 'customize-loader' ).
* The theme customizer now requires postMessage browser support.
* Add .hide-if-customize and .hide-if-no-customize CSS classes.
* Clean up customize-preview.js.

git-svn-id: https://develop.svn.wordpress.org/trunk@20476 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-16 14:02:28 +00:00
Daryl Koopersmith 955ca76116 Replace all instances of thickbox theme preview with the theme customizer. fixes #20404.
* Use theme customizer in theme install/update screens.
* Separate the customize loader from the customizer. Use wp_customize_loader() to include the loader script and markup.
* Deprecated: wp-admin/js/theme-preview.js is now no longer used by core.

git-svn-id: https://develop.svn.wordpress.org/trunk@20419 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-10 02:25:03 +00:00
Andrew Nacin 6e3ed8bbf9 Internally cache themes inside wp_get_themes() by theme_root as well as stylesheet, to avoid conflicts with future calls to wp_get_themes(). Always return only the last stylesheet found, as before. see #20103.
git-svn-id: https://develop.svn.wordpress.org/trunk@20375 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-05 20:38:42 +00:00
Andrew Nacin f9a131231d Always return a WP_Theme object from wp_get_theme(). Check \$theme->exists() or \$theme->errors() to confirm the requested theme actually exists. see #20361.
git-svn-id: https://develop.svn.wordpress.org/trunk@20363 602fd350-edb4-49c9-b593-d223f7449a82
2012-04-05 01:05:49 +00:00