Commit Graph

50 Commits

Author SHA1 Message Date
Weston Ruter
a86496aea4 Customize: Improve custom background properties UI.
Introduces new control for managing the background position. Adds control for setting the `background-size`.

Props cdog, celloexpressions, grapplerulrich, MikeHansenMe, FolioVision, afercia, helen, melchoyce, karmatosed, westonruter, Kelderic, sebastian.pisula.
Fixes #22058.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38891 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-26 06:52:29 +00:00
Weston Ruter
54465a68db Customize: Fix logic inversion in determining whether a URL is previewable which prevented previewing anything but homepage.
Fixes regression introduced in [38890].

See #38409.
Fixes #38492.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38869 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-25 20:53:29 +00:00
Weston Ruter
885d1dd89d Customize: Harden url matching to account for varying ports and ensuring matching base pathname for allowed urls
Fixes #38409.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38833 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-24 20:07:31 +00:00
Weston Ruter
1ccd9e7a6c Customize: Introduce custom CSS for extending theme styles.
* Custom CSS is associated with a given theme and is displayed in an inline `style` element at the `wp_head` hook after the `wp_print_styles` is called so that it overrides any enqueued stylesheets.
* A `wp_get_custom_css()` function is used for accessing the CSS associated with the current theme (or another theme) and a `wp_get_custom_css` filter for manipulating it.
* CSS is managed in customizer via a new "Additional CSS" section with a single `textarea` control. 
* `WP_Customize_Section::$description_hidden` is introduced for hiding extended descriptions in customizer sections behind a help toggle as done with panels.
* CSS is stored in a `custom_css` post type with the theme (stylesheet) slug as the `post_name`.
* `WP_Customize_Custom_CSS_Setting` is introduced to handle validation of CSS, previewing, and persisting the CSS to the `custom_css` post type.
* The `custom_css` setting is tied to a new `unfiltered_css` capability which maps to `unfiltered_html` by default.
* Escaping the message in the notification template is removed to allow markup (`code` tags) to be rendered.

See https://make.wordpress.org/core/2016/10/11/feature-proposal-better-theme-customizations-via-custom-css-with-live-previews/

Props johnregan3, celloexpressions, folletto, westonruter.
Fixes #35395.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38772 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-19 18:15:31 +00:00
Weston Ruter
e8bd9645df Customize: Split out link click.preview and form submit.preview event handlers from anonymous functions into named methods on wp.customize.Preview for extensibility.
See #30937.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38754 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-19 02:06:30 +00:00
Weston Ruter
f1ba1918c9 Customize: Implement customized state persistence with changesets.
Includes infrastructure developed in the Customize Snapshots feature plugin.

See https://make.wordpress.org/core/2016/10/12/customize-changesets-technical-design-decisions/

Props westonruter, valendesigns, utkarshpatel, stubgo, lgedeon, ocean90, ryankienstra, mihai2u, dlh, aaroncampbell, jonathanbardo, jorbin.
See #28721.
See #31089.
Fixes #30937.
Fixes #31517.
Fixes #30028.
Fixes #23225.
Fixes #34142.
Fixes #36485.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38753 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-18 20:05:31 +00:00
Weston Ruter
4156988a3c Docs: Fix phpdoc and jsdoc typos introduced in [38584] and [38587], respectively.
See #33742.
See #20714.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38531 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-11 18:46:30 +00:00
Weston Ruter
edf170c943 Customize: Implement previewing of form submissions which use the GET method.
This finally allows the search results template to navigated to in the customizer preview.

Fixes #20714.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38530 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-11 05:05:30 +00:00
Weston Ruter
1c2324f834 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37666 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-14 19:17:28 +00:00
Weston Ruter
783aa8b4fa Customize: Rely on selective refresh exclusively for previewing custom logo changes.
Eliminates JS logic (from [36698]) which attempted to do pure JS update while waiting for the selective refresh response to return. The duplicate JS logic lacked a re-implementation of the `image_downsize()` functionality available in PHP, and so the JS preview logic would fail to properly preview images that didn't have the exact theme image size generated. To keep the code DRY and to eliminate the momentary display of an improperly-sized image, the duplicated JS logic is now removed.

See #27355.
See #33755.
Fixes #36096.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36957 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-14 19:17:28 +00:00
Weston Ruter
055154cb65 Customize: Restore body class removed in [36837] for when custom logo is present.
The class name is `wp-custom-logo` and it will be toggled by JS in the Customizer preview when the custom logo is added or removed.

See #33755.
Fixes #35945.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36871 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-09 19:33:27 +00:00
Weston Ruter
a8ca958d43 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36818 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-04 23:47:26 +00:00
Konstantin Obenland
147d6d7d6c 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. 

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


git-svn-id: http://core.svn.wordpress.org/trunk@36804 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-03 19:56:26 +00:00
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
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
c055021d1e Customizer: Fix click.preview event handler for jump links and shift+clicks in preview.
* Prevent following jump links (starting with `#`), but instead scroll that element into view.
* Prevent following links clicked in the Customizer if shift key is pressed when clicking; this fixes an issue when trying to shift-click on a widget or nav menu item (#32681) to just focus on the control in the Customizer.

Fixes #26005.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36338 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-21 06:08:27 +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
Scott Taylor
44dace3487 Add Customizer docs.
Props ericlewis.
See #33503.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33880 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-05 19:53:24 +00:00
Scott Taylor
20cc53b929 Add some JS Docs for Customizer.
Props ericlewis.
See #33503.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33676 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-22 17:24:25 +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
Dominik Schilling
1f6e85e60f Customizer: Export Preview instance to wp.customize.preview.
see #30409, #30726.
Built from https://develop.svn.wordpress.org/trunk@30891


git-svn-id: http://core.svn.wordpress.org/trunk@30881 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-16 11:53:22 +00:00
Dominik Schilling
b250062311 Customizer: When navigating around the site within the Customizer preview, update the document title.
props westonruter.
fixes #28542.
Built from https://develop.svn.wordpress.org/trunk@30306


git-svn-id: http://core.svn.wordpress.org/trunk@30305 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-11 22:29:23 +00:00
Dominik Schilling
3c962ee5d8 Improve/introduce Customizer JavaScript models for Controls, Sections, and Panels.
* Introduce models for panels and sections.
* Introduce API to expand and focus a control, section or panel.
* Allow deep-linking to panels, sections, and controls inside of the Customizer.
* Clean up `accordion.js`, removing all Customizer-specific logic.
* Add initial unit tests for `wp.customize.Class` in `customize-base.js`.

https://make.wordpress.org/core/2014/10/27/toward-a-complete-javascript-api-for-the-customizer/ provides an overview of how to use the JavaScript API.

props westonruter, celloexpressions, ryankienstra.
see #28032, #28579, #28580, #28650, #28709, #29758.
fixes #29529.


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


git-svn-id: http://core.svn.wordpress.org/trunk@30102 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-29 22:51:22 +00:00
Scott Taylor
5cab03ab29 Add some docs to Customizer JS.
Props ericlewis.
See #29157.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29229 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-08 23:31:15 +00:00
Sergey Biryukov
ad7bc20cb1 Customizer: Introduce WP_Customize_Control::active() method to determine whether the control is relevant to the current context (i.e. to the current URL being previewed).
Control can indicate its active state by a subclass overriding the 'active_callback' method, by supplying a callable 'active_callback' argument into the control's constructor, or by filtering 'customize_control_active'.

props westonruter.
see #27993.
Built from https://develop.svn.wordpress.org/trunk@29051


git-svn-id: http://core.svn.wordpress.org/trunk@28839 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-09 23:58:16 +00:00
Andrew Nacin
d0605ea62b Custom backgrounds: Always cause a preview in the customizer.
Omitted from [27703].

props obenland.
see #22030.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27543 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-25 12:00:14 +00:00
Andrew Nacin
6292b4c519 Fix JSHint errors in 5 files.
props seanchayes.
fixes #26015, #26020, #26019, #26034, #26022.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26108 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-15 05:16:09 +00:00
Jon Cave
8961dc5d91 Theme Customizer: Correctly update background-attachment property in live preview
Props bainternet. Fixes #21732.


git-svn-id: http://core.svn.wordpress.org/trunk@22131 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-07 14:46:39 +00:00
Andrew Nacin
2710bcade1 Switch to .min for compressed JS and CSS files.
* This moves our "development" versions from .dev.js to .js (same for css).
 * The compressed version then moves from .js to .min.js (same for css).

By switching to the standard .min convention, it sets expectations for developers,
and works nicely with existing tools such as ack.

fixes #21633.



git-svn-id: http://core.svn.wordpress.org/trunk@21592 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-23 00:04:18 +00:00
bumpbot
b624dd94d5 Compress scripts/styles: 3.5-alpha-21148.
git-svn-id: http://core.svn.wordpress.org/trunk@21148 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-26 21:50:58 +00:00
bumpbot
19ccdf7b41 Compress scripts/styles: 3.4-RC2-21055.
git-svn-id: http://core.svn.wordpress.org/trunk@21055 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-11 21:28:44 +00:00
bumpbot
d15f104e4b Compress scripts/styles: 3.4-RC1-21015.
git-svn-id: http://core.svn.wordpress.org/trunk@21015 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-06 21:51:13 +00:00
bumpbot
d35556e69a Compress scripts/styles: 3.4-RC1-20989.
git-svn-id: http://core.svn.wordpress.org/trunk@20989 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-04 15:58:26 +00:00
bumpbot
78f3c9a8e6 Compress scripts/styles: 3.4-beta4-20937.
git-svn-id: http://core.svn.wordpress.org/trunk@20937 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-26 18:58:28 +00:00
bumpbot
fd069c1819 Compress scripts/styles: 3.4-beta4-20931.
git-svn-id: http://core.svn.wordpress.org/trunk@20931 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-26 07:58:28 +00:00
bumpbot
366ca788d5 Compress scripts/styles: 3.4-beta4-20921.
git-svn-id: http://core.svn.wordpress.org/trunk@20921 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-25 22:58:24 +00:00
bumpbot
f895adb49c Compress scripts/styles: 3.4-beta4-20911.
git-svn-id: http://core.svn.wordpress.org/trunk@20911 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-25 18:58:23 +00:00
bumpbot
236667ca24 Compress scripts/styles: 3.4-beta4-20834.
git-svn-id: http://core.svn.wordpress.org/trunk@20834 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-21 18:58:19 +00:00
bumpbot
5181e0abd3 Compress scripts/styles: 3.4-beta4-20803.
git-svn-id: http://core.svn.wordpress.org/trunk@20803 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-16 05:58:24 +00:00
bumpbot
a13f5e45ba Compress scripts/styles: 3.4-beta4-20800.
git-svn-id: http://core.svn.wordpress.org/trunk@20800 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-15 22:58:23 +00:00
bumpbot
4b38f2fe45 Compress scripts/styles: 3.4-beta4-20746.
git-svn-id: http://core.svn.wordpress.org/trunk@20746 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-09 00:58:22 +00:00
bumpbot
484bf6e4ef Compress scripts/styles: 3.4-beta4-20742.
git-svn-id: http://core.svn.wordpress.org/trunk@20742 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-08 20:58:20 +00:00
bumpbot
c6dbd4b6a1 Compress scripts/styles: 3.4-beta4-20738.
git-svn-id: http://core.svn.wordpress.org/trunk@20738 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-07 20:58:22 +00:00
bumpbot
58ef081f06 Compress scripts/styles: 3.4-beta3-20603.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20603 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-04-25 21:58:24 +00:00
bumpbot
2884dc969d Compress scripts/styles: 3.4-beta2-20478.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20478 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-04-16 14:58:23 +00:00
bumpbot
4641b2b4e0 Compress scripts/styles: 3.4-alpha-20262.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20262 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-22 07:58:24 +00:00
bumpbot
c02391c0ee Compress scripts/styles: 3.4-alpha-20124.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20124 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-06 03:00:26 +00:00
bumpbot
2c4438f379 Compress scripts/styles: 3.4-alpha-19996.
git-svn-id: http://svn.automattic.com/wordpress/trunk@19997 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-25 04:16:01 +00:00
koopersmith
c832f904ae Introduce new theme customizer to replace theme preview. Rough first pass. props koopersmith, ocean90. see #19910.
Merges in http://plugins.svn.wordpress.org/gandalf/branches/dev/ rev 510148.

git-svn-id: http://svn.automattic.com/wordpress/trunk@19995 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-25 04:12:43 +00:00