81 Commits

Author SHA1 Message Date
Drew Jaynes
195572596b Docs: Standardize on 'backward compatibility/compatible' nomenclature in core inline docs.
Also use 'back-compat' in some inline comments where backward compatibility is the subject and shorthand feels more natural.

Note: 'backwards compatibility/compatibile' can also be considered correct, though it's primary seen in regular use in British English.

Props ocean90.
Fixes #36835.


git-svn-id: https://develop.svn.wordpress.org/trunk@37431 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-13 18:40:19 +00:00
Rachel Baker
1bee2ff07a Post Thumbnails: Fix logic bug and tests from [37308] where post-thumbnails support wasn’t added if there were no previous post_types with support already.
See #22080

git-svn-id: https://develop.svn.wordpress.org/trunk@37313 602fd350-edb4-49c9-b593-d223f7449a82
2016-04-26 20:28:46 +00:00
Rachel Baker
2ff19ab7d3 Post Thumbnails: When using add_theme_support( ‘post-thumbnails’, array( $post_types) ) merge the supported post_types.
Allow the adding of post-thumbnail support for one or more post_types without unsetting any previously added post_types. This matches the behavior of other uses of `add_theme_support()` and the expectations of a function with a prefix of “add”.
To unset post-thumbnail support use `remove_theme_support()` instead.

Fixes #22080

Props alexkingorg, jmichaelward, and flixos90.

git-svn-id: https://develop.svn.wordpress.org/trunk@37308 602fd350-edb4-49c9-b593-d223f7449a82
2016-04-26 17:04:25 +00:00
Aaron Jorbin
f531959fa2 Prevent PHP Warnings when using Custom Logo with no params
The parsing of defaults assumes that $args will be an array. This solves it for Custom Logo the same way it is solved for custom-header and custom-background.

Props obenland.
Fixes #36332.



git-svn-id: https://develop.svn.wordpress.org/trunk@37092 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-30 02:21:57 +00:00
Drew Jaynes
0b6af900f1 Docs: Improve the DocBlocks for get_header_textcolor() and header_textcolor() to mention that they both retrieve color values in the HEX format.
Props theMikeD.
Fixes #36336.


git-svn-id: https://develop.svn.wordpress.org/trunk@37083 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-25 23:05:42 +00:00
Konstantin Obenland
c35484581d Customize: Bring custom-logo args closer to custom-header.
Allows themes to specify the desired width and height of logos, and whether
that is flexible or not. Has the benefit of not having to generate a logo-sized
file for every image uploaded.

Props westonruter, celloexpressions.
Fixes #36255.



git-svn-id: https://develop.svn.wordpress.org/trunk@37077 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-24 02:01:50 +00:00
Weston Ruter
4569f93d3e Customize: Require opt-in for selective refresh of widgets.
* Introduces `customize-selective-refresh-widgets` theme support feature and adds to themes.
* Introduces `customize_selective_refresh` arg for `WP_Widget::$widget_options` and adds to all core widgets.
* Remove `selective_refresh` from being a component that can be removed via `customize_loaded_components` filter.
* Add `WP_Customize_Widgets::get_selective_refreshable_widgets()` and `WP_Customize_Widgets::is_widget_selective_refreshable()`.
* Fix default `selector` for `Partial` instances.
* Implement and improve Masronry sidebar refresh logic in Twenty Thirteen and Twenty Fourteen, including preservation of initial widget position after refresh.
* Re-initialize ME.js when refreshing `Twenty_Fourteen_Ephemera_Widget`.

See #27355.
Fixes #35855.


git-svn-id: https://develop.svn.wordpress.org/trunk@37040 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-21 21:58:02 +00:00
Konstantin Obenland
6d951b3c5d Customize: Only add custom logo’s header text control if needed.
Dissolves `WP_CustomLogo` and adopts a structure similar to custom header and background (See `_delete_attachment_theme_mod()`).
The option to hide header text only gets added if it’s not already part of custom header, and only if selectors have been registered when theme support for custom logos was declared. Themes can add `postMessage` support for it as well.

Example:
{{{
add_theme_support( 'custom-logo', array(
    'size' => ‘large’,
    'header-text' => array( 'site-title', 'site-description' ),
) );
}}}

See #33755.


git-svn-id: https://develop.svn.wordpress.org/trunk@36915 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-09 23:43:49 +00:00
Konstantin Obenland
57686e8b5d Themes: Support second argument in theme support for custom logo.
See #33755.


git-svn-id: https://develop.svn.wordpress.org/trunk@36909 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-09 21:50:37 +00:00
Dominik Schilling (ocean90)
8535f40cf8 Themes: Use the attachment ID as the key in get_uploaded_header_images().
Prevents missing header images when an image has the same name as another header image.

Props sirbrillig.
Fixes #31786.

git-svn-id: https://develop.svn.wordpress.org/trunk@36539 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 22:11:14 +00:00
Drew Jaynes
1c2f0896db Themes: Pass information about the old theme in the form of a WP_Theme object when the switch_theme action is fired.
Props MikeHansenMe.
See #22401.


git-svn-id: https://develop.svn.wordpress.org/trunk@36502 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-07 08:25:28 +00:00
Pascal Birchler
ca529a52fd Docs: Document the default value for the $validate parameter in the validate_current_theme hook docs.
See #32246.

git-svn-id: https://develop.svn.wordpress.org/trunk@35976 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-16 20:09:58 +00:00
Pascal Birchler
b041e9b189 Docs: Correct a parameter name for the validate_current_theme filter.
See #32246.

git-svn-id: https://develop.svn.wordpress.org/trunk@35972 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-16 19:35:20 +00:00
Pascal Birchler
171ae0f20d Docs: Fix a typo in the stylesheet_directory filter docs.
Props ixkaito.
Fixes #34859.

git-svn-id: https://develop.svn.wordpress.org/trunk@35799 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-06 21:56:16 +00:00
Konstantin Kovshenin
318455ff24 Docs: Remove some more dittography.
See #34885, r35793.


git-svn-id: https://develop.svn.wordpress.org/trunk@35796 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-06 21:49:43 +00:00
Scott Taylor
663b7f28ff Upgrade: New themes are not automatically installed on upgrade. This can still be explicitly asked for by defining CORE_UPGRADE_SKIP_NEW_BUNDLED as false.
In `populate_options()`, if the theme specified by `WP_DEFAULT_THEME` doesn't exist, fall back to the latest core default theme. If we can't find a core default theme, `WP_DEFAULT_THEME` is the best we can do. 

Props nacin, jeremyfelt, dd32.
See #34306.


git-svn-id: https://develop.svn.wordpress.org/trunk@35738 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-25 21:44:02 +00:00
Andrew Ozz
d51aa96069 Responsive images: fix args order and streamline the srcset and sizes generation and better inline docs in get_header_image_tag().
See #21389.

git-svn-id: https://develop.svn.wordpress.org/trunk@35595 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-10 01:58:38 +00:00
Andrew Ozz
cc3e1611bc Responsive images: add template helper functions to generate the tag for a (responsive) header image that includes srcset and sizes attributes.
Props Otto42, joemcgill, DH-Shredder, azaozz.
Fixes #21389.

git-svn-id: https://develop.svn.wordpress.org/trunk@35594 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-10 01:16:16 +00:00
Konstantin Obenland
d625bd2428 Themes: Improve document title output.
Introduces more flexibility in filtering all parts of the document title,the
separator, and a way to short-circuit title generation. Plugins can now also
check for theme support and reliably filter the entire output. See #18548.
Deprecates `wp_title()`.

Fixes #31078.



git-svn-id: https://develop.svn.wordpress.org/trunk@35294 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-20 16:20:04 +00:00
Boone Gorges
578134d4ff Use wp_installing() instead of WP_INSTALLING constant.
The `WP_INSTALLING` constant is a flag that WordPress sets in a number of
places, telling the system that options should be fetched directly from the
database instead of from the cache, that WP should not ping wordpress.org for
updates, that the normal "not installed" checks should be bypassed, and so on.

A constant is generally necessary for this purpose, because the flag is
typically set before the WP bootstrap, meaning that WP functions are not yet
available.  However, it is possible - notably, during `wpmu_create_blog()` -
for the "installing" flag to be set after WP has already loaded. In these
cases, `WP_INSTALLING` would be set for the remainder of the process, since
there's no way to change a constant once it's defined. This, in turn, polluted
later function calls that ought to have been outside the scope of site
creation, particularly the non-caching of option data. The problem was
particularly evident in the case of the automated tests, where `WP_INSTALLING`
was set the first time a site was created, and remained set for the rest of the
suite.

The new `wp_installing()` function allows developers to fetch the current
installation status (when called without any arguments) or to set the
installation status (when called with a boolean `true` or `false`). Use of
the `WP_INSTALLING` constant is still supported; `wp_installing()` will default
to `true` if the constant is defined during the bootstrap.

Props boonebgorges, jeremyfelt.
See #31130.

git-svn-id: https://develop.svn.wordpress.org/trunk@34828 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 15:05:26 +00:00
Weston Ruter
25c05ad6f2 Customizer: Flesh out phpdoc description for _wp_customize_include().
Also add brackets around single-statement inline `if` statement.

Fixes #33488.


git-svn-id: https://develop.svn.wordpress.org/trunk@34554 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 19:35:48 +00:00
Aaron Jorbin
4796e96ebe Flush rewrite rules upon theme switch
Themes can ( and do ) but shouldn't include custom rewrite rules.This can lead to hard to debug issues for theme authors. Theme changes are not a ultra common conclusion. Flushing the rewrite rules on theme switch will lead to a clean slate for each theme which helps make debugging easier.

And @nacin said we should do this 5 years ago at WordCamp Mid Atlantic.

Fixes #14849



git-svn-id: https://develop.svn.wordpress.org/trunk@34028 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-10 23:49:14 +00:00
Konstantin Obenland
903b9af181 Themes: Get the correct theme when template and stylesheet were both passed as arguments.
Fixes a bug where `$new_theme` got set before the second argument was
appropriately handled, causing the `current_theme` option to later always be
updated to the parent theme's name.

Introduced in [21131].

Props obenland, wonderboymusic.
Fixes #32635.



git-svn-id: https://develop.svn.wordpress.org/trunk@33815 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-30 21:44:38 +00:00
Scott Taylor
905a612d88 Switching themes: if the new theme doesn't have nav_menu_locations defined, but the old theme does, copy the old theme's nav_menu_locations into the new theme's theme mods.
cc melchoyce

Fixes #18588.


git-svn-id: https://develop.svn.wordpress.org/trunk@33808 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-30 03:00:45 +00:00
Scott Taylor
9e784dd59f Clarify doc entry for _wp_customize_include()
Props ericlewis. 
Fixes #33488.


git-svn-id: https://develop.svn.wordpress.org/trunk@33694 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-21 17:44:11 +00:00
Dominik Schilling (ocean90)
faac72a070 Themes: Remove legacy theme preview.
The pre-3.4 theme previewer doesn't work when using a static front page.
We kept the old theme preview for no-JS and some browsers that were less capable. But since browsers are doing a better job today we don't need to continue fixing/shipping this legacy code. Bye!

fixes #33178.

git-svn-id: https://develop.svn.wordpress.org/trunk@33492 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-29 18:35:40 +00:00
Konstantin Obenland
140ff5cb9b Properly clean up header image data when the attachment is deleted.
Props CreativeInfusion.
Fixes #33005.



git-svn-id: https://develop.svn.wordpress.org/trunk@33278 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-15 16:27:17 +00:00
Drew Jaynes
8227017042 Add an extra line before the hook doc for the editor_stylesheets filter begins.
The parser really likes it when there's breathing room.

See [32928]. See #32891.


git-svn-id: https://develop.svn.wordpress.org/trunk@33240 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 22:00:13 +00:00
Konstantin Obenland
6872d9122e Provide alt text for uploaded header images.
The custom header screen will use it rather then the description,
if an alt text is set.

Props francoeurdavid, voldemortensen, valendesigns.
Fixes #27959.



git-svn-id: https://develop.svn.wordpress.org/trunk@32998 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-29 21:31:21 +00:00
Scott Taylor
f162be6046 For doc block types, favor bool over the few remaining booleans
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32964 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-27 01:02:12 +00:00
Sergey Biryukov
8d756c76c1 Add editor_stylesheets filter to get_editor_stylesheets().
props danielbachhuber, MikeHansenMe.
fixes #31672.

git-svn-id: https://develop.svn.wordpress.org/trunk@32928 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-24 13:31:11 +00:00
Weston Ruter
0c7358cffc Customizer: Allow sections and panels to be exported to JS.
Also fix param docs for `customize_dynamic_setting_class` filter, and use `require_once` for `class-wp-customize-manager.php` in bootstrap function `_wp_customize_include()`.

See #30737, #32576.


git-svn-id: https://develop.svn.wordpress.org/trunk@32744 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-12 22:53:39 +00:00
Scott Taylor
c8a44d437a Add @static* annotations where they are missing.
Initialize all static vars that are not, most to `null`.

See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32650 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-29 15:42:40 +00:00
Andrew Nacin
e0cfefaa5e Fix return error in get_theme_mods() from [32629].
Split a line with both an assignment and a conditional, not to mention an interpolated variable. Lots going on, easy mistake to make.

props BrianLayman.
fixes #32516.


git-svn-id: https://develop.svn.wordpress.org/trunk@32632 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-28 05:50:40 +00:00
Scott Taylor
266a7f2f9d Add missing doc blocks to theme.php.
Correct some `@return` values.

See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32629 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-27 22:20:48 +00:00
Drew Jaynes
cabc9a964a Add a missing return description for has_header_image().
See [31224]. See #31888.


git-svn-id: https://develop.svn.wordpress.org/trunk@32048 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-05 17:10:12 +00:00
Dominik Schilling (ocean90)
4aeeb0e0f0 Customizer: Add title attributes to iframes.
props afercia.
fixes #31202.

git-svn-id: https://develop.svn.wordpress.org/trunk@31704 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-10 21:19:14 +00:00
Scott Taylor
3c810c5872 There are a few functions that have the ability to return false instead of a string, so the return value should be checked before being passed to functions that expect string.
These are trivial, but they clear out some Scrutinizer issues.

See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31681 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-09 02:10:36 +00:00
Sergey Biryukov
e7bf16b423 Introduce has_header_image() to check whether a header image is set.
props GunGeekATX, voldemortensen.
fixes #16268.

git-svn-id: https://develop.svn.wordpress.org/trunk@31224 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-17 06:33:42 +00:00
Scott Taylor
1d3b42d226 Fix some erroneous @param annotations.
See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31219 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-16 22:43:13 +00:00
Scott Taylor
5acc6bdb58 In PHP 5.0.0, is_a() became deprecated in favour of the instanceof operator. Calling is_a() would result in an E_STRICT warning.
In PHP 5.3.0, `is_a()` is no longer deprecated, and will therefore no longer throw `E_STRICT` warnings.

To avoid warnings in PHP < 5.3.0, convert all `is_a()` calls to `$var instanceof WP_Class` calls.

`instanceof` does not throw any error if the variable being tested is not an object, it simply returns `false`.

Props markoheijnen, wonderboymusic.
Fixes #25672.


git-svn-id: https://develop.svn.wordpress.org/trunk@31188 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-16 01:05:52 +00:00
Scott Taylor
865185903b There are some random add_action() and add_filter() calls littered around some files in wp-includes/. These should be moved to wp-includes/default-filters.php with the rest of the registered hooks. It seems like this was the best practice for awhile and then we randomly stopped. This file loads way before any of the includes, so the hooks will be registered for any request that loads WordPress, even SHORTINIT - a lot of the hooks registered won't run anyways (that's already the case).
See #30947.


git-svn-id: https://develop.svn.wordpress.org/trunk@31168 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-12 16:39:39 +00:00
Scott Taylor
218dd4fd6b For clarity, initialize some arrays that previously were only assigned via short circuit in loops.
See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@30982 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-20 22:46:53 +00:00
John Blackbourn
28f8566630 Improve the doing_it_wrong() text for title-tag theme support.
Props ocean90
Fixes #18548


git-svn-id: https://develop.svn.wordpress.org/trunk@30787 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-08 16:05:34 +00:00
Scott Taylor
6bb2a4ce36 Improve the @param docs for src/includes/theme.php and src/includes/update.php.
See #30224.


git-svn-id: https://develop.svn.wordpress.org/trunk@30672 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-30 22:43:27 +00:00
Drew Jaynes (DrewAPicture)
e587324180 Docs Formatting: Backtick-escape inline code for all remaining dynamic hook docs in wp-includes/*.
Affects DocBlocks for the following hooks:
* `auth_post_meta_{$meta_key}`
* `term_links-$taxonomy`
* `customize_render_control_ . $this->id`
* `customize_render_panel_{$this->id}`
* `customize_render_section_{$this->id}`
* `customize_preview_{$this->id}`
* `customize_save_ . $this->id_data[ 'base' ]`
* `customize_update_ . $this->type`
* `customize_value_ . $this->id_data[ 'base' ]`
* `customize_sanitize_js_{$this->id}`
* `comment_form_field_{$name}`
* `comment_{$old_status}_to_{$new_status}`
* `comment_{$new_status}_{$comment->comment_type}`
* `extra_{$context}_headers`
* `get_template_part_{$slug}`
* `get_the_generator_{$type}`
* `get_{$adjacent}_post_join`
* `get_{$adjacent}_post_where`
* `get_{$adjacent}_post_sort`
* `{$adjacent}_post_rel_link`
* `{$adjacent}_post_link`
* `{$adjacent}_image_link`
* `blog_option_{$option}`
* `$permastructname . _rewrite_rules`
* `{$type}_template`
* `theme_mod_{$name}`
* `pre_set_theme_mod_$name`
* `current_theme_supports-{$feature}`
* `get_user_option_{$option}`
* `edit_user_{$field}`
* `pre_user_{$field}`
* `user_{$field}`

See #30552.


git-svn-id: https://develop.svn.wordpress.org/trunk@30656 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-30 12:09:56 +00:00
Scott Taylor
30e637cd93 Correct type in the doc block for get_theme_support().
See #30224.


git-svn-id: https://develop.svn.wordpress.org/trunk@30189 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-03 05:17:05 +00:00
Scott Taylor
cd8f6b881c Correct the return value doc block for get_theme_support().
See #30224.


git-svn-id: https://develop.svn.wordpress.org/trunk@30188 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-03 05:16:33 +00:00
Drew Jaynes (DrewAPicture)
3cc10d77a0 Remove redundant and erroneous @uses tag from most core inline documentation.
Per our inline documentation standards, no further use of the `@uses` tag is recommended as used and used-by relationships can be derived through other means. This removes most uses of the tag in core documentation, with remaining tags to be converted to `@global` or `@see` as they apply.

Fixes #30191.


git-svn-id: https://develop.svn.wordpress.org/trunk@30105 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-30 01:04:55 +00:00
John Blackbourn
efb9cd0cc5 Introduce a new means of outputting a <title> tag in the theme head. Requires a theme to add support by calling add_theme_support( 'title-tag' ). This is the first step in adding a more robust means of generating and outputting the title tag.
See #18548.
Props obenland, chrisbliss18, joostdevalk.



git-svn-id: https://develop.svn.wordpress.org/trunk@30074 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-28 21:11:11 +00:00