Commit Graph

131 Commits

Author SHA1 Message Date
Weston Ruter 6b775d4afe Customize: Add selective refresh framework with implementation for widgets and re-implementation for nav menus.
See https://make.wordpress.org/core/2016/02/16/selective-refresh-in-the-customizer/.

Props westonruter, valendesigns, DrewAPicture, ocean90.
Fixes #27355.

Built from https://develop.svn.wordpress.org/trunk@36586


git-svn-id: http://core.svn.wordpress.org/trunk@36553 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-19 18:41:28 +00:00
Weston Ruter b5e18056e5 Customize: Add a user-friendly way to preview site responsiveness for desktop, tablet, and mobile.
Introduces `WP_Customize_Manager::get_previewable_devices()` with a `customize_previewable_devices` filter to change the default device and which devices are available for previewing. This is a feature that was first pioneered on WordPress.com.

Props celloexpressions, folletto, valendesigns, westonruter, welcher, adamsilverstein, michaelarestad, Fab1en.
Fixes #31195.

Built from https://develop.svn.wordpress.org/trunk@36532


git-svn-id: http://core.svn.wordpress.org/trunk@36499 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-16 01:57:26 +00:00
Weston Ruter c376477265 Customizer: Export `nonce`, `theme`, and `url` app settings in preview as exported in pane.
* Introduce `WP_Customize_Manager::get_nonces()` to consolidate logic for retrieving nonces.
* Export nonces centrally in `wp.customize.settings.nonce` with each request and update nav menus preview to utilize.
* Send updated nonces to preview upon `nonce-refresh`.
* Request full preview refresh if Nav Menu selective refresh request fails (e.g. due to bad nonce).
* Update nav menus and widgets in Customizer to utilize `customize_refresh_nonces` for exporting nonces and keeping them up to date.

See #27355.
Fixes #35617.

Built from https://develop.svn.wordpress.org/trunk@36414


git-svn-id: http://core.svn.wordpress.org/trunk@36381 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-27 17:55:26 +00:00
Weston Ruter c7923b2c9d Customizer: Improve parity between JS Setting models in preview with JS Setting models in pane.
* Ensure that Setting `Value` objects in preview get initial `_dirty` flag set if values among POST data.
* Upon `saved` event, send `saved` message to preview with the `response` to trigger `saved` event there.
* Reset `_dirty` flag for all setting `Value` objects in preview upon `saved`.
* Continue to create settings synced from pane even after initial bootstrap, and create them as dirty.
* Ensure that `id` property is set for setting `Value` objects in preview.

See #27355.
Fixes #35616.

Built from https://develop.svn.wordpress.org/trunk@36407


git-svn-id: http://core.svn.wordpress.org/trunk@36374 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-26 23:52:25 +00:00
Weston Ruter dd123ab2c0 Customizer: Re-use list of components to eliminate code duplication.
Introduces protected `WP_Customize_Manager::$components` to store list of loaded core components filtered by `customize_loaded_components`.

Props DrewAPicture.
See #35242
See #33552.
Fixes #35354.

Built from https://develop.svn.wordpress.org/trunk@36262


git-svn-id: http://core.svn.wordpress.org/trunk@36229 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-11 20:28:28 +00:00
Weston Ruter 3e35a7157f Customizer: Prevent erroneously directing user to login screen when closing.
Fixes issue where user gets stuck at login screen after trying to close the app if previously they had to first login to access the Customizer. Prevents `WP_Customize_Manager::get_return_url()` from using `wp-login.php` as a referer.

Props chandrapatel.
See #32637.
Fixes #35355.

Built from https://develop.svn.wordpress.org/trunk@36261


git-svn-id: http://core.svn.wordpress.org/trunk@36228 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-11 18:51:28 +00:00
Weston Ruter 0b8c6eed83 Customizer: Improve `_doing_it_wrong()` message when `widgets` or `nav_menus` are manually removed via `WP_Customize_Manager::remove_panel()`.
* Link to code reference page for `customize_loaded_components` instead of linking to a Trac comment.
* Remove HTML code from being included in translated string.
* Add missing translator comment for the specifiers in the translated string.

Amends [36216].
Props DrewAPicture.
Fixes #35242.

Built from https://develop.svn.wordpress.org/trunk@36219


git-svn-id: http://core.svn.wordpress.org/trunk@36186 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-07 18:44:28 +00:00
Weston Ruter 668818e93d Customizer: Call `_doing_it_wrong()` if `widgets` or `nav_menus` are manually removed via `WP_Customize_Manager::remove_panel()`.
Advise that the `customize_loaded_components` filter should be used instead.

Props voldemortensen.
See #33552.
Fixes #35242.

Built from https://develop.svn.wordpress.org/trunk@36216


git-svn-id: http://core.svn.wordpress.org/trunk@36183 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-07 06:06:28 +00:00
Sergey Biryukov d0b7dd489e I18N: Remove `<strong>` tags from translatable strings in `WP_Customize_Manager::register_controls()` and `WP_Customize_Header_Image_Control::render_content()`.
Add translator comments.

See #35039.
Built from https://develop.svn.wordpress.org/trunk@35923


git-svn-id: http://core.svn.wordpress.org/trunk@35887 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-14 12:54:27 +00:00
Sergey Biryukov 346cce3c48 Customizer: Change "Display Header Text" checkbox label to "Display Site Title and Tagline", to make it clearer that it affects both settings.
Props juanfra, vlad.olaru.
Fixes #31829.
Built from https://develop.svn.wordpress.org/trunk@35899


git-svn-id: http://core.svn.wordpress.org/trunk@35863 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-13 17:50:28 +00:00
Mel Choyce 09b5c2b3d0 Customizer: Bold pixel value under Site Icon to match the Custom Header instructions.
Props karmatosed.
Fixes #35039.

Built from https://develop.svn.wordpress.org/trunk@35892


git-svn-id: http://core.svn.wordpress.org/trunk@35856 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-13 00:14:27 +00:00
Weston Ruter 07339e61c0 Customizer: Apply `customize_dynamic_setting_class` and `customize_dynamic_setting_args` filters in calls to `WP_Customize_Manager::add_setting( $id, $args )`.
Ensure that plugin filters apply as expected for any settings registered statically without passing in an explicit class instance to `WP_Customize_Manager::add_setting()`.

Fixes #34597.

Built from https://develop.svn.wordpress.org/trunk@35810


git-svn-id: http://core.svn.wordpress.org/trunk@35774 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-06 23:22:25 +00:00
Weston Ruter 0c311ef2d6 Customizer: Return added instances for panels, sections, controls, and settings when calling `WP_Customize_Manager::add_*()` methods.
Add missing phpDoc.

Props fusillicode, jubstuff.
Fixes #34596.

Built from https://develop.svn.wordpress.org/trunk@35781


git-svn-id: http://core.svn.wordpress.org/trunk@35745 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-06 18:10:25 +00:00
Weston Ruter 5dae1386aa Customize: Ensure that a setting (especially a multidimensional one) can still be previewed when the post value to preview is set after `preview()` is invoked.
* Introduce `customize_post_value_set_{$setting_id}` and `customize_post_value_set` actions which are done when `WP_Customize_Manager::set_post_value()` is called.
* Clear the `preview_applied` flag for aggregated multidimensional settings when a post value is set. This ensures the new value is used instead of a previously-cached previewed value.
* Move `$is_preview` property from subclasses to `WP_Customize_Setting` parent class.
* Deferred preview: Ensure that when `preview()` short-circuits due to not being applicable that it will be called again later when the post value is set.
* Populate post value for updated-widget with the (unsanitized) JS-value in `WP_Customize_Widgets::call_widget_update()` so that value will be properly sanitized when accessed in `WP_Customize_Manager::post_value()`.

Includes unit tests with assertions to check the reported issues and validate the fixes.

Fixes defect introduced in [35007].
See #32103.
Fixes #34738.

Built from https://develop.svn.wordpress.org/trunk@35724


git-svn-id: http://core.svn.wordpress.org/trunk@35688 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-21 02:52:27 +00:00
Andrew Nacin 1579e45d41 Simplify the include graph after work to split out classes.
see #33413. More details there.

Built from https://develop.svn.wordpress.org/trunk@35718


git-svn-id: http://core.svn.wordpress.org/trunk@35682 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-20 07:24:30 +00:00
Weston Ruter 268626d061 Customize: Exclude `referer` URL from being used for Close link if it is `customize.php`.
This fixes an edge case where the Close button could never link the user out of the Customizer, if the user initially accessed it without a `url` param and then clicked a link (provided by a plugin) that took them to another `customize.php` URL.

See #32637.

Built from https://develop.svn.wordpress.org/trunk@35635


git-svn-id: http://core.svn.wordpress.org/trunk@35599 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-13 05:25:28 +00:00
Weston Ruter b9d9c6d3c9 Customize: Fix typo in `WP_Customize_Manager::_cmp_priority()` which caused unstable sorting for same-priority constructs in PHP.
The issue, however, does not manifest in the UI because the UI is now built via JS and the `wp.customize.utils.prioritySort()` algorithm did not have the same typo.

Props bordoni, westonruter.
Fixes #34594.

Built from https://develop.svn.wordpress.org/trunk@35553


git-svn-id: http://core.svn.wordpress.org/trunk@35517 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-06 06:58:25 +00:00
Weston Ruter e0ac4e4d05 Customize: Correct phpdoc `@return` type for `WP_Customize_Manager::add_dynamic_settings()`.
Fixes regression in [32032], where `WP_Customize_Setting[]` should have been changed to `array` instead of `WP_Customize_Setting`.

See #31888.

Built from https://develop.svn.wordpress.org/trunk@35534


git-svn-id: http://core.svn.wordpress.org/trunk@35498 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-05 00:43:24 +00:00
Weston Ruter 8fed77574c Customize: Return user to referring URL when leaving Customizer in absence of `return` query param.
When referring URL is not available, default returning user to frontend URL instead of admin URL. Themes page is updated to include the `return` path in Customizer links.

Props McGuive7, westonruter.
Fixes #32637.

Built from https://develop.svn.wordpress.org/trunk@35483


git-svn-id: http://core.svn.wordpress.org/trunk@35447 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-01 06:40:28 +00:00
Andrea Fercia 930a688e17 Customizer: remove the `title` attribute from the Preview html element while loading.
Props mehulkaklotar.

Fixes #33250.
Built from https://develop.svn.wordpress.org/trunk@35391


git-svn-id: http://core.svn.wordpress.org/trunk@35355 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-25 15:14:26 +00:00
Weston Ruter bee05e0cdc Customizer: Introduce `customize_loaded_components` filter to allow core components to be disabled.
Also move style rule from `customize-nav-menus.css` to `customize-controls.css` so that widgets button is properly styled when `nav_menus` component is excluded from loading. See [35304]. See #33327.

Props westonruter, DrewAPicture.
Fixes #33552.

Built from https://develop.svn.wordpress.org/trunk@35307


git-svn-id: http://core.svn.wordpress.org/trunk@35273 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-20 22:16:25 +00:00
Sergey Biryukov 047501800d Customizer: Replace context for two strings added in [30306] with a translator comment.
Fixes #34203.
Built from https://develop.svn.wordpress.org/trunk@34921


git-svn-id: http://core.svn.wordpress.org/trunk@34886 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-07 23:54:24 +00:00
Weston Ruter 4ff29f822e Customize: Flesh out phpdoc for `WP_Customize_Manager`.
* Add missing phpdoc for class member variables.
* Supply missing `@return` descriptions from [34269].
* Add missing `@since` tags.
* Remove unused `$customized` protected class member variable.

Fixes #33898.

Built from https://develop.svn.wordpress.org/trunk@34320


git-svn-id: http://core.svn.wordpress.org/trunk@34284 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-19 06:40:26 +00:00
Weston Ruter 93bcd86b2a Customize: Reduce peak memory usage by JSON-encoding settings and controls individually.
When there are hundreds of settings and controls (e.g. nav menu items and widget instances) the resulting object that is JSON-encoded can become very large, and `wp_json_encode()` can consume a lot of memory to serialize it. By breaking down the serialization into multiple calls the peak memory usage can be kept in line.

Moves logic out of `wp-admin/customize.php` into the `WP_Customize_Manager` class with new methods:

 * `is_ios()`
 * `get_document_title_template()`
 * `get_preview_url()`/`set_preview_url()`
 * `get_return_url()`/`set_return_url()`
 * `get_autofocus()`/`set_autofocus()`
 * `customize_pane_settings()`

Includes unit tests for these methods, for which the logic was formerly untestable in `customize.php`.

Fixes #33898.

Built from https://develop.svn.wordpress.org/trunk@34269


git-svn-id: http://core.svn.wordpress.org/trunk@34233 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-17 19:42:26 +00:00
Sergey Biryukov 53ac914bd5 Add a comment to strings where the ellipsis cannot be used due to `json_encode()`, placeholders, or external dependencies.
Fixes #32875.
Built from https://develop.svn.wordpress.org/trunk@34233


git-svn-id: http://core.svn.wordpress.org/trunk@34197 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-16 11:59:26 +00:00
Dominik Schilling 4d5cd90b46 Revert [34013] and parts of [33970].
* `_WP_Editors::wp_mce_translation()` can't be changed without changing strings in TinyMCE and plugins.
* `\u2026` is escaped by `json_encode()` to `\\u2026`, makes `\u2026` visible in our UI.

See #32875.
Built from https://develop.svn.wordpress.org/trunk@34087


git-svn-id: http://core.svn.wordpress.org/trunk@34055 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 20:03:24 +00:00
Scott Taylor 6ea147d51c After [33970], swap UTF-8 characters for their `\u2026` escape sequence.
See #32875.

Built from https://develop.svn.wordpress.org/trunk@34013


git-svn-id: http://core.svn.wordpress.org/trunk@33982 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-10 20:30:24 +00:00
Scott Taylor 02ae926dfd Round 2 of: We should use ellipses &hellip; / … instead of three dots/periods ... e.g Loading… not Loading...
Props yoavf.
Fixes #32875.

Built from https://develop.svn.wordpress.org/trunk@33970


git-svn-id: http://core.svn.wordpress.org/trunk@33939 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-09 04:39:25 +00:00
Sergey Biryukov 9ffab31d8f Add missing translation functions to the error messages added in [33889].
props kraftbj, GaryJ.
fixes #33684.
Built from https://develop.svn.wordpress.org/trunk@33892


git-svn-id: http://core.svn.wordpress.org/trunk@33861 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-03 18:37:23 +00:00
Sergey Biryukov ba056692a6 Provide more helpful feedback than just "Cheatin' uh?" for permission errors in `wp-includes/class-wp-customize-manager.php`.
props kraftbj.
fixes #33684. see #14530.
Built from https://develop.svn.wordpress.org/trunk@33889


git-svn-id: http://core.svn.wordpress.org/trunk@33858 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-03 09:21:23 +00:00
Konstantin Obenland 3248497cf3 Site Icon: Add crop preview to the media modal.
* Monkey patches imgAreaSelect library to support touch events.
* Removes Settings version of Site Icon since it would have been the same flow.
* Removes default value for Customizer setting - there is no default favicon.

Fixes #16434.



Built from https://develop.svn.wordpress.org/trunk@33329


git-svn-id: http://core.svn.wordpress.org/trunk@33301 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-20 15:57:25 +00:00
Drew Jaynes 442f8fa753 Fix parameter descriptions for two methods added to `WP_Customize_Manager` in 4.3.
See [32658]. See #32891.

Built from https://develop.svn.wordpress.org/trunk@33217


git-svn-id: http://core.svn.wordpress.org/trunk@33189 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-13 20:32:24 +00:00
Konstantin Obenland f29e5044cd Site Icon: Add Customizer UI.
Second part of the Site Icon feature after [32994] introduced it for Settings.

Props celloexpressions.
See #16434.


Built from https://develop.svn.wordpress.org/trunk@33154


git-svn-id: http://core.svn.wordpress.org/trunk@33126 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-10 21:33:24 +00:00
Scott Taylor a0e373ef80 For doc block types, favor `bool` over the few remaining `boolean`s
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32964


git-svn-id: http://core.svn.wordpress.org/trunk@32935 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-27 01:03:25 +00:00
Dominik Schilling 62e3a0c15c Add menu management to the Customizer.
This brings in the Menu Customizer plugin: https://wordpress.org/plugins/menu-customizer/.

props celloexpressions, westonruter, valendesigns, voldemortensen, ocean90, adamsilverstein, kucrut, jorbin, designsimply, afercia, davidakennedy, obenland.
see #32576.
Built from https://develop.svn.wordpress.org/trunk@32806


git-svn-id: http://core.svn.wordpress.org/trunk@32777 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-16 22:08:26 +00:00
Weston Ruter 489db97ea3 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.

Built from https://develop.svn.wordpress.org/trunk@32744


git-svn-id: http://core.svn.wordpress.org/trunk@32715 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-12 22:54:25 +00:00
Weston Ruter 98b03d376e Add JS templates for Customizer Panels and Sections.
This extends the approach taken for Customizer Controls in #29572.

Props celloexpressions, westonruter, ocean90.
See #30737.

Built from https://develop.svn.wordpress.org/trunk@32658


git-svn-id: http://core.svn.wordpress.org/trunk@32628 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-30 00:03:30 +00:00
Scott Taylor bd8fafea54 Use `void` instead of `null` where appropriate when pipe-delimiting `@return` types. If a `@return` only contains `void`, remove it.
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32568


git-svn-id: http://core.svn.wordpress.org/trunk@32538 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-24 05:40:25 +00:00
Scott Taylor b2bbbf9759 In `class-wp-customize-*`, clarify/add some `@param`/`@return` blocks. Disambiguate some functions that are trying to return the `void` response of another function they call internally.
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32535


git-svn-id: http://core.svn.wordpress.org/trunk@32505 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-21 22:05:24 +00:00
Dominik Schilling b29c8c503b Theme Switcher: Provide an easier way to reset back to the current active theme.
* Add control for the active theme when doing a theme preview
* Highlight an active theme and move it to the top

props valendesigns, ocean90.
fixes #32002.
Built from https://develop.svn.wordpress.org/trunk@32265


git-svn-id: http://core.svn.wordpress.org/trunk@32236 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-22 16:15:27 +00:00
Dominik Schilling 6d2c70aa0d Customizer: Refresh nonces when a session expires and the user logs in again.
This was broken since 4.0 and the introduction of user session tokens. The nonces are now tied to session tokens as opposed to user IDs, and thus they change with each re-login.
Custom nonces can be added through the `customize_refresh_nonces` filter. On a successful refresh request the JavaScript API will trigger a `nonce-refresh` event. See widget's update nonce as an example.

props westonruter for initial patch.
fixes #31294.
Built from https://develop.svn.wordpress.org/trunk@32054


git-svn-id: http://core.svn.wordpress.org/trunk@32033 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-06 15:10:27 +00:00
Drew Jaynes 831d7ea1e4 Fix inline documentation syntax in a variety of DocBlocks and hook docs in `WP_Customize_Manager`.
See [31370]. See #31888.

Built from https://develop.svn.wordpress.org/trunk@32032


git-svn-id: http://core.svn.wordpress.org/trunk@32011 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-05 15:07:27 +00:00
Drew Jaynes 4b36885bbd Cleanup DocBlock syntax, add a missing parameter description for `WP_Customize_Manager->set_post_value()`.
See [31370]. See #31888.

Built from https://develop.svn.wordpress.org/trunk@32031


git-svn-id: http://core.svn.wordpress.org/trunk@32010 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-05 15:03:29 +00:00
Drew Jaynes a91a919d13 Add inline doc syntax fixes for `WP_Customize_Manager->doing_ajax()`.
Also adds a return description.

See [31370]. See #31888.

Built from https://develop.svn.wordpress.org/trunk@32030


git-svn-id: http://core.svn.wordpress.org/trunk@32009 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-05 15:00:27 +00:00
Dominik Schilling 254b9e3264 Customizer Theme Switcher: Navigation streamlining.
* Detach Themes section from other controls
* Move to buttons to navigate back and forth
* Change titles based on current theme status, active/previewing
* Hide the active/previewing theme from the list of available themes

props folletto for the design concepts.
props designsimply, celloexpressions for initial patches.
props Team Gandalf.
see #31289.
Built from https://develop.svn.wordpress.org/trunk@31975


git-svn-id: http://core.svn.wordpress.org/trunk@31954 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-01 22:51:27 +00:00
Dominik Schilling 57fce2e593 Customizer Theme Switcher: Remove "Add New" references.
The current iteration takes you out of the customizer context, which isn't great UX and doesn't really fit into the flows targeted by this particular UI.

fixes #31837.
Built from https://develop.svn.wordpress.org/trunk@31968


git-svn-id: http://core.svn.wordpress.org/trunk@31947 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-01 19:50:29 +00:00
Dominik Schilling b95a8227d8 Customizer Theme Switcher: Fix invalid HTML markup when New Theme control is added.
see #31203.
Built from https://develop.svn.wordpress.org/trunk@31950


git-svn-id: http://core.svn.wordpress.org/trunk@31929 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-01 11:35:26 +00:00
Sergey Biryukov 36643388ef Decouple strings where the singular and plural form are not just the same string with different numbers, but essentially two different strings.
This allows for using proper plural forms in languages with more than two forms, and also resolves string conflicts when the same string is present in both singular and plural form.

fixes #28502.
Built from https://develop.svn.wordpress.org/trunk@31941


git-svn-id: http://core.svn.wordpress.org/trunk@31920 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-31 18:45:28 +00:00
Dominik Schilling f9180e1b4b Customizer: Introduce `WP_Customize_Media_Control`.
`WP_Customize_Media_Control` is a new base class for all Customizer media controls. If used directly it supports the ID of an attachment instead of an URL like `WP_Customize_Upload_Control`.

props celloexpressions.
fixes #29215.
Built from https://develop.svn.wordpress.org/trunk@31698


git-svn-id: http://core.svn.wordpress.org/trunk@31679 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-10 18:02:28 +00:00
Dominik Schilling 3349b7d25b Customizer: Add loading indicators for the Customizer preview.
props Fab1en, westonruter.
fixes #31196.
Built from https://develop.svn.wordpress.org/trunk@31697


git-svn-id: http://core.svn.wordpress.org/trunk@31678 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-10 15:56:26 +00:00