Commit Graph

24 Commits

Author SHA1 Message Date
Konstantin Obenland 237f6a0e58 Customize: Introduce Logo support for themes.
Allows a common theme feature to have a common implementation provided by core and available in a consistent location for users.
See https://make.wordpress.org/core/2016/02/24/theme-logo-support/

Props kwight, enejb, jeherve, bhubbard, samhotchkiss, zinigor, eliorivero, adamsilverstein, melchoyce, ryan, mikeschroder, westonruter, pento, karmatosed, celloexpressions, obenland. 
See #33755.


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


git-svn-id: http://core.svn.wordpress.org/trunk@36665 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-24 22:10:26 +00:00
Weston Ruter 2214f69e43 Customize: Allow controls to be registered without any associated settings.
* Improves parity between partials and controls. A partial or control can be settingless if instantiated with `settings` param as empty array (otherwise, if null, then the partial/control ID is used). 
* Eliminate need to create dummy settings that serve no purpose except to place a control in the UI.
* Removes dummy settings for `create_new_menu` and `new_menu_name`.
* Introduces `WP_Customize_Control::$capability` and `WP_Customize_Partial::$capability`, and if set checks them in the respective `check_capabilities()` methods.
* Prevents PHP fatal error from happening when non-existing settings are provided to control: "Call to a member function `check_capabilities()` on a non-object".
* Fixes issue where nav menu items and widgets were no longer working with selective refresh because cap check was failing.

See #27355.
Fixes #35926.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36656 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-24 18:28:28 +00:00
Weston Ruter aa2db425d8 Customize: Skip exporting partials to client and handling rendering requests if user can't modify associated settings.
Introduces `WP_Customize_Partial::check_capabilities()` for parity with `WP_Customize_Control::check_capabilities()`.
 
See #27355.
Fixes #35914.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36610 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-23 18:14:26 +00:00
Weston Ruter 53e0315242 Customize: Let `WP_Customize_Selective_Refresh` class be `final` to match manager and other component classes.
This class is not intended to be extended.
 
See #27355.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36591 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-23 01:28:25 +00:00
Weston Ruter aa9ef96a52 Customize: Prevent dropping backslashes from input on general settings and settings for nav menus and some widgets.
Ensures that intentional backslashes (e.g. "\o/") can be used in:

* Site title
* Site description
* Nav menu name
* Custom Menu widget title
* Tag Cloud widget title
* Text widget body if can't `unfiltered_html`

The latter three are also fixed on the widgets admin page.

Fixes #35898.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36589 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-23 01:02:26 +00:00
Weston Ruter b206327acb Customize: Fix previewing and updating of nav menu items containing slashed/slashable characters.
Prevents slashes from being added when a user without `unfiltered_html` previews a nav menu item containing an apostrophe or some other slashable character, and prevents the loss of an intentional slash (e.g. "\o/") when saving a nav menu item, regardless of capability.

Fixes #35869.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36575 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-22 00:14:25 +00:00
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 3fdb8bafc4 Customize: Ensure that "Change" button appears when there are only 2 themes.
Fixes defect introduced in [35535].

Props igmoweb.
See #34549.
Fixes #35081.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35907 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-15 01:21:26 +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
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
Sergey Biryukov 17af54fc7c Customizer: Use correct context and translator comments for menu location strings.
See #33431.
Built from https://develop.svn.wordpress.org/trunk@35722


git-svn-id: http://core.svn.wordpress.org/trunk@35686 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-20 17:46:25 +00:00
Dominik Schilling d1805c9da8 Customizer: Merge two similar strings.
Remove also `{{ data.menu_name }}` since it doesn't print anything.

Fixes #33630.
Built from https://develop.svn.wordpress.org/trunk@35695


git-svn-id: http://core.svn.wordpress.org/trunk@35659 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-18 22:25:25 +00:00
Scott Taylor a9fb6e9ae0 Customizer i18n: provide translator context for current menu name and location.
Props ryankienstra.
Fixes #33431.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35640 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-18 19:21:28 +00:00
Helen Hou-Sandí ae9e173082 Buttons: Standardize on `.button-link` for link-like buttons.
This serves as both a reset and some basic styling. The class name also aligns with parallel components in other popular projects.

props paulwilde for the initial patch.
fixes #34242.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35600 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-13 15:47:27 +00:00
Weston Ruter c470b872bd Customize: Improve alignment of `WP_Customize_Nav_Menu_Item_Setting::sanitize()` behavior with `wp_update_nav_menu_item()`.
* Apply `title_save_pre`, `excerpt_save_pre`, and `content_save_pre` filters on a nav menu item's `title`, `attr_title`, and `description` properties respectively. This ensures that arbitrary markup can be supplied if the user has `unfiltered_html` cap, and for these fields to have markup stripped if not.
* Ensure a nav menu item's `post_status` is sanitized as `publish` or `draft` using the same conditions as `wp_update_nav_menu_item()`.
* Align `WP_Customize_Nav_Menu_Item_Setting::sanitize()` behavior for sanitizing `position` to be the same as `wp_update_nav_menu_item()`.
* Also apply `nav_menu_attr_title` and `nav_menu_description` filters in `WP_Customize_Nav_Menu_Item_Setting::value_as_wp_post_nav_menu_item()` to ensure that previewing markup entered into menu item description will preview the same way as when the nav menu item is saved.
* Add unit tests.

Fixes #32812.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35544 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-09 00:48:26 +00:00
Scott Taylor e649fabb6a Accessibility: add missing `alt` attributes to a gaggle of `<img>`s.
Props afercia.
Fixes #34583.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35531 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-07 16:12:27 +00:00
Weston Ruter 1a55cbe59d Customize: Hide "Change" button in themes section if there are fewer than two available themes.
Props danielbachhuber, westonruter.
Fixes #34549.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35499 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-05 01:26:25 +00:00
Weston Ruter 77e365efbf Customize: Add support for `post_type_archive` nav menu items.
Props celloexpressions, westonruter.
Fixes #16075.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35464 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-04 04:30:26 +00:00
Andrea Fercia be620e6da6 Customizer: Remove the no more used `add-menu-item-loading` spinner.
Also makes more room for longer translations.

Props dipali.dhole27@gmail.com.
Fixes #34342.
Built from https://develop.svn.wordpress.org/trunk@35396


git-svn-id: http://core.svn.wordpress.org/trunk@35360 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-26 13:59:26 +00:00
Drew Jaynes 2f42bf0a73 Docs: Add missing DocBlocks for the `$type` and `$sidebar_id` properties, and summaries for the `to_json()` and `render_content()` methods in `WP_Widget_Area_Customize_Control`.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35357 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-25 19:58:26 +00:00
Scott Taylor 68526a8bf1 Customize: move `WP_Customize_Control` subclasses to `wp-includes/customize`, they load in the exact same place.
See #34432.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35353 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-24 18:57:25 +00:00
Scott Taylor 61aefacd2c Customize: move `WP_Customize_Panel` subclass to `wp-includes/customize`, it loads in the exact same place.
See #34432.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35350 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-24 18:25:24 +00:00
Scott Taylor 574f53399c Customize: move `WP_Customize_Section` subclasses to `wp-includes/customize`, they load in the exact same place.
See #34432.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35349 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-24 18:21:25 +00:00
Scott Taylor 21d74f5b1d Customize: move `WP_Customize_Setting` subclasses to `wp-includes/customize`, they load in the exact same place.
See #34432.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35347 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-24 18:11:24 +00:00