Commit Graph
55 Commits
Author SHA1 Message Date
Weston Ruter bddb06dd13 Customize: Ensure that WP_Customize_Nav_Menu_Section is able to represent a placeholder nav menu.
Placeholder nav menus (ones that have yet to be saved into the DB) have negative integer IDs.

Fixes #37293.
Props valendesigns, stubgo, westonruter.


git-svn-id: https://develop.svn.wordpress.org/trunk@37981 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 05:32:49 +00:00
Dominik Schilling 59b0096dfe Customize: Fix site icon preview in RTL.
* Set the direction of previews to LTR.
* Remove the ID attribute from the favicon preview in the customizer panel. The preview in the media modal uses the same ID which prevented updating the correct favicon preview.

Fixes #37286.

git-svn-id: https://develop.svn.wordpress.org/trunk@37964 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 12:41:38 +00:00
Dominik Schilling 9c4f1a3431 Customize: Add a RTL version of "browser.png" for the site icon preview.
Props sidati.
Fixes #37063.

git-svn-id: https://develop.svn.wordpress.org/trunk@37963 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 11:31:13 +00:00
Dominik Schilling (ocean90) 3fff76a15f Customize: Improve flow from menu locations to editing a menu.
Adds an Edit button beside the menu location to allow users to switch to the selected menu for further edits.

Props celloexpressions.
Fixes #36795.

git-svn-id: https://develop.svn.wordpress.org/trunk@37901 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-28 23:06:22 +00:00
Dominik Schilling (ocean90) f50f50cd0b Customize: Separate preview and actions in the site icon control.
Reverts [37456] to allow users to remove/change a site icon even if the attachment has corrupt/missing data about sizes.

Fixes #36749.

git-svn-id: https://develop.svn.wordpress.org/trunk@37724 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-16 09:44:21 +00:00
Weston Ruter f26ccf6fac Customize: Update server-sent setting validation notifications as changes are entered.
Send back setting validities with full refreshes and selective refreshes so that invalid settings can have notifications displayed immediately before attempting save, and so that these notifications can be cleared as soon as the input is corrected.

* Splits out JS logic for listing controls into separate methods  `wp.customize.Setting.prototype.findControls()` and `wp.customize.findControlsForSettings()`.
* Adds a `setting` property to the `data` on notifications added to controls that are synced from their settings.
* Adds `selective-refresh-setting-validities` message sent from preview to pane.
* Changes `WP_Customize_Manager::validate_setting_values()` to return when settings are valid as well as invalid.
* Adds `WP_Customize_Manager::prepare_setting_validity_for_js()`.
* Add setting validities to data exported to JS in Customizer Preview and in selective refresh responses.

Fixes #36944.


git-svn-id: https://develop.svn.wordpress.org/trunk@37700 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-14 19:16:54 +00:00
Drew Jaynes b208dae5e6 Docs: Apply inline @see tags to hooks referenced in DocBlocks for core classes.
Applying these specially-crafted `@see` tags allows the Code Reference parser to recognize and link these elements as actions and filters.

See #36921.


git-svn-id: https://develop.svn.wordpress.org/trunk@37539 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-23 18:53:05 +00:00
Drew Jaynes d11f7ed391 Docs: Standardize filter docs in remaining wp-includes/* files to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37518 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:49:05 +00:00
Pascal Birchler 8345fc60c7 Customize: Change attachment condition in the site icon control to prevent errors.
Props neverything.
Fixes #36749 for trunk.

git-svn-id: https://develop.svn.wordpress.org/trunk@37456 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-17 20:38:20 +00:00
Weston Ruter c1ec341ddb Customize: Clean up media control CSS.
Removes unnecessary wrapper elements and refactors class names to eliminate duplication of rule selectors.

Props celloexpressions.
Fixes #30618.


git-svn-id: https://develop.svn.wordpress.org/trunk@37426 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-12 20:22:45 +00:00
Weston Ruter d5bcff481f Customize: Remove use of reserved word default in Underscore template which breaks IE8.
Fixes regression introduced in r30712.

Props adamsilverstein.
Fixes #36793.


git-svn-id: https://develop.svn.wordpress.org/trunk@37417 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-11 19:07:01 +00:00
Weston Ruter 8359290d8f Customize: Ensure that wp_setup_nav_menu_item filter applies consistently on nav_menu_item setting values.
The filter was being applied in `WP_Customize_Nav_Menu_Item_Setting::value()` but not in `WP_Customize_Nav_Menu_Item_Setting::value_as_wp_post_nav_menu_item()`.

Props celloexpressions, westonruter.
Fixes #35203.


git-svn-id: https://develop.svn.wordpress.org/trunk@37405 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-10 06:40:48 +00:00
Andrea Fercia b3b7f6cbac Customizer, Site Icon preview: improve alt attributes and text accessibility.
Props shahpranaf, TacoVerdo, afercia.

Fixes #36562.

git-svn-id: https://develop.svn.wordpress.org/trunk@37229 602fd350-edb4-49c9-b593-d223f7449a82
2016-04-17 12:00:23 +00:00
Weston Ruter cfd07d69cf Customize: Fix toggle of title attribute field visibility on nav menus admin page.
Improves alignment with nav menus in the Customizer, fixing regression introduced in [36908].

See #35273.
Props sidati, westonruter.
Fixes #36353.


git-svn-id: https://develop.svn.wordpress.org/trunk@37153 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-30 21:54:45 +00:00
Weston Ruter 0bc533e10b Customize: Put focus on change button instead of remove button in media control.
Allow controls to specify the primary element to receive focus by adding a `control-focus` class.

Props adamsilverstein, westonruter.
Fixes #36337.


git-svn-id: https://develop.svn.wordpress.org/trunk@37152 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-30 21:40:43 +00:00
Drew Jaynes da8a501226 Docs: Use a third-person singular verb in the DocBlock summary for WP_Customize_Site_Icon_Control::content_template(), introduced in [36698].
Also adds a missing `@access` notation.

See #33755. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@37012 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-16 16:40:45 +00:00
Drew Jaynes 7e2441298e Docs: Add a missing version and access information to the DocBlock for the WP_Customize_Selective_Refresh->$manager property, introduced in [36586].
See #27355. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@37011 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-16 16:38:31 +00:00
Drew Jaynes 7c4212d252 Docs: Standardize the file header and class summarries for the file containing WP_Customize_Selective_Refresh, introduced in [36586].
See #27355. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@37010 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-16 16:28:06 +00:00
Drew Jaynes c50b76ea08 Docs: Standardize the file header and class summaries for the file containing WP_Customize_Partial, introduced in [36586].
See #27355. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@37009 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-16 16:23:46 +00:00
Konstantin Obenland 827bcc32a8 Customize: Use full URL to image to prevent breakage if moved.
See https://core.trac.wordpress.org/ticket/33755#comment:103
See #33755.



git-svn-id: https://develop.svn.wordpress.org/trunk@36948 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-10 18:52:10 +00:00
Weston Ruter 7ececb24f5 Customize: Fix persistence of toggles for displayed nav menu item properties.
* Eliminates need to click more than one checkbox to have preferences saved.
* Adds debouncing to saving user-selected menu item properties.
* Also removes discrepancies between available nav menu item properties on admin page vs Customizer.

Fixes #35273.
Props afercia, westonruter.


git-svn-id: https://develop.svn.wordpress.org/trunk@36908 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-09 21:40:27 +00:00
Konstantin Obenland 326806a961 Customize: Reduce vertical space of site icon control.
Makes the control easier to find, reduces visual clutter, and is more
consistent with Customizer UI conventions.

Props celloexpressions.
Fixes #35943.


git-svn-id: https://develop.svn.wordpress.org/trunk@36907 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-09 21:18:53 +00:00
Weston Ruter c2c1c3fd3a Customize: Remove selective refresh error message from appearing inline within the preview.
The error message will still be available in the developer console.

Removes part of [36586].
See #27355.
Fixes #36164.


git-svn-id: https://develop.svn.wordpress.org/trunk@36890 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-09 04:36:51 +00:00
Weston Ruter 084772af80 Customize: Eliminate unnecessary WP_Customize_Site_Logo_Control in favor of re-using WP_Customize_Image_Control.
* Removes double `margin-bottom` from all the media controls.
* All media controls now send `{settingId}-attachment-data` messages to the preview when a media setting is updated so that the preview has access to the attachment data.
* Fixes receiving of `attachment-data` message for `custom_logo` which resulted in instant JS-applied preview not working. See #36096.

See #33755.
Fixes #35941.


git-svn-id: https://develop.svn.wordpress.org/trunk@36851 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-04 23:46:07 +00:00
Konstantin Obenland cf863ab2a8 Customize: Rename custom logo classes after [36837].
Fixes #35945.


git-svn-id: https://develop.svn.wordpress.org/trunk@36838 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-03 19:58:37 +00:00
Konstantin Obenland 43ff969765 Customize: Site logos are custom logos.
Brings the nomenclature closer to custom headers and backgrounds.

See https://wordpress.slack.com/archives/core/p1456955151003150
See #35945. 


git-svn-id: https://develop.svn.wordpress.org/trunk@36837 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-03 19:55:15 +00:00
Dominik Schilling (ocean90) 4c8b3511a2 Customizer: Merge two translator comments.
git-svn-id: https://develop.svn.wordpress.org/trunk@36809 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-02 23:09:12 +00:00
Weston Ruter 0c3716670a Customize: Define params on WP_Customize_Partial::render_callback() for the sake of subclasses overriding this method.
Fixes a strict standards notice regarding the method signature needing to be compatible.

See #27355.


git-svn-id: https://develop.svn.wordpress.org/trunk@36801 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-02 06:08:38 +00:00
Weston Ruter f60e7fd99d Customize: Allow button_labels to be overridden in $args passed to WP_Customize_Media_Control and WP_Customize_Image_Control.
Props chetanchauhan, celloexpressions.
See #33755.
Fixes #35542.


git-svn-id: https://develop.svn.wordpress.org/trunk@36769 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-29 00:39:33 +00:00
Drew Jaynes 180fd6bad4 Docs: Add a missing summary, @access tag, and parameter documentation to the DocBlock for WP_Customize_Filter_Setting::update().
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36745 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-27 21:16:37 +00:00
Dominik Schilling (ocean90) 9a7488aaf8 Spelling: Standardize on "front end"/"back end" (noun) and "front-end"/"back-end" (adjective).
Props obrienlabs, thewanderingbrit.
Fixes #34887.

git-svn-id: https://develop.svn.wordpress.org/trunk@36709 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-25 12:52:33 +00:00
Konstantin Obenland b73a1c9aa9 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@36698 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-24 22:09:54 +00:00
Weston Ruter d80ef26b48 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@36689 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-24 18:27:45 +00:00
Weston Ruter c9b47e9d92 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@36643 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-23 18:13:30 +00:00
Weston Ruter b30e77f5fc 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@36624 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-23 01:27:55 +00:00
Weston Ruter d14b188c42 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@36622 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-23 01:01:43 +00:00
Weston Ruter d06329d035 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@36608 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-22 00:13:53 +00:00
Weston Ruter 03360d143d 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@36586 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-19 18:40:06 +00:00
Weston Ruter d33deeeb74 Customize: Ensure that "Change" button appears when there are only 2 themes.
Fixes defect introduced in [35535].

Props igmoweb.
See #34549.
Fixes #35081.


git-svn-id: https://develop.svn.wordpress.org/trunk@35943 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-15 01:20:49 +00:00
Sergey Biryukov 3cf74baa5b 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@35923 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-14 12:53:37 +00:00
Weston Ruter 89f49aad80 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@35724 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-21 02:51:57 +00:00
Sergey Biryukov b0e225b619 Customizer: Use correct context and translator comments for menu location strings.
See #33431.

git-svn-id: https://develop.svn.wordpress.org/trunk@35722 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-20 17:45:57 +00:00
Dominik Schilling (ocean90) a88d7d81b5 Customizer: Merge two similar strings.
Remove also `{{ data.menu_name }}` since it doesn't print anything.

Fixes #33630.

git-svn-id: https://develop.svn.wordpress.org/trunk@35695 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-18 22:24:22 +00:00
Scott Taylor 1d22015fb3 Customizer i18n: provide translator context for current menu name and location.
Props ryankienstra.
Fixes #33431.


git-svn-id: https://develop.svn.wordpress.org/trunk@35676 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-18 19:20:30 +00:00
Helen Hou-Sandi 6f1bb2ab67 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@35636 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-13 15:46:12 +00:00
Weston Ruter 2e2ea4876b 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@35580 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-09 00:47:55 +00:00
Scott Taylor 7301c115aa Accessibility: add missing alt attributes to a gaggle of <img>s.
Props afercia.
Fixes #34583.


git-svn-id: https://develop.svn.wordpress.org/trunk@35567 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-07 16:11:38 +00:00
Weston Ruter 9711093ff8 Customize: Hide "Change" button in themes section if there are fewer than two available themes.
Props danielbachhuber, westonruter.
Fixes #34549.


git-svn-id: https://develop.svn.wordpress.org/trunk@35535 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-05 01:25:54 +00:00
Weston Ruter 5084a0b28a Customize: Add support for post_type_archive nav menu items.
Props celloexpressions, westonruter.
Fixes #16075.


git-svn-id: https://develop.svn.wordpress.org/trunk@35500 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-04 04:29:39 +00:00
Andrea Fercia fa29612530 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@35396 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-26 13:58:53 +00:00