Commit Graph

99 Commits

Author SHA1 Message Date
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
Gary Pendergast 007ec52958 Add `wp_json_encode()`, a wrapper for `json_encode()` that ensures everything is converted to UTF-8.
Change all core calls from `json_encode()` to `wp_json_encode()`.

Fixes #28786.


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


git-svn-id: http://core.svn.wordpress.org/trunk@30055 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-28 18:35:19 +00:00
John Blackbourn 905b6a9d67 Add the ability for a customizer control to render its controls via a JavaScript template. Switches the default color picker control to a JavaScript template. See #29572. Props celloexpressions
Built from https://develop.svn.wordpress.org/trunk@30014


git-svn-id: http://core.svn.wordpress.org/trunk@30014 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-24 16:32:18 +00:00
Dominik Schilling 61819a36ea Customizer: Change instances of "Theme Customizer" to just "Customizer", as the Customizer isn't necessarily theme-specific.
Also capitalize "Customizer".
See also https://make.wordpress.org/core/2014/07/08/customizer-improvements-in-4-0/.

props studionashvegas, tareq1988.
fixes #29947.
Built from https://develop.svn.wordpress.org/trunk@29903


git-svn-id: http://core.svn.wordpress.org/trunk@29658 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-15 17:21:19 +00:00
Helen Hou-Sandí f348ccccf8 Customizer panels: use a single back button for all panels.
This also ensures the back button is visible on iOS devices.

props celloexpressions.
fixes #29135.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29384 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-25 23:05:15 +00:00
Andrew Nacin de569d83a1 Customizer: Mixed priority sorting for panels and top-level sections.
props celloexpressions.
fixes #28979.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29266 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-14 04:43:16 +00:00
Drew Jaynes 097dc8ee15 Fix syntax for single- and multi-line comments in wp-admin-directory files.
See #28931.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28990 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-17 09:14:16 +00:00
Dominik Schilling 57c914f75a Customizer: Add meta capability `customize` which is mapped to `edit_theme_options`.
You can now allow users to access the Customizer, say for any user who can `edit_posts`, via `map_meta_cap` or `user_has_cap` filter. See ticket for examples.

props westonruter, nacin.
fixes #28605.
Built from https://develop.svn.wordpress.org/trunk@29170


git-svn-id: http://core.svn.wordpress.org/trunk@28954 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-14 19:01:16 +00:00
Dominik Schilling d617598716 Customizer: Make panel title translatable too.
props michalzuber.
see #27406.
Built from https://develop.svn.wordpress.org/trunk@29135


git-svn-id: http://core.svn.wordpress.org/trunk@28919 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-13 15:12:15 +00:00
Helen Hou-Sandí c2a3f4fab5 Customizer info section:
* Only show the theme info when doing a live preview of another theme.
* Replace with helper text about what you are customizing and what the Customizer is for.
* Fix focus styling.

props celloexpressions, westonruter. fixes #28550.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28822 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-08 19:53:15 +00:00
Helen Hou-Sandí b90b64bf9e More consistent icons in place of some buttons for the Customizer and theme install preview.
* Use a single close icon instead of a context-changing cancel/close button in the Customizer. In user testing, this small distinction in language was overlooked, and we use an AYS now instead. This also makes it consistent with the back arrow in Customizer panels.
* Use the same close icon as well as the previous/next arrows from the theme details browser in the theme install preview.

props celloexpressions. fixes #28655.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28819 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-08 18:19:14 +00:00
Helen Hou-Sandí 725c824075 When accessing the Customizer from the admin menu, make sure the user is returned to the originating page upon close. We should still investigate the general usage of `customize-loader.js` moving forward, but this approach fixes the immediate issue. props westonruter. fixes #25457.
Built from https://develop.svn.wordpress.org/trunk@29026


git-svn-id: http://core.svn.wordpress.org/trunk@28814 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-08 17:15:14 +00:00
Dominik Schilling b7c93eb3d0 Customizer: Introduce a "panel" API to organize multiple sections into a one section.
Create a panel via `$GLOBALS['wp_customize']->add_panel( $panel_id, $args )` and use `$panel_id` for the `panel` argument in `$GLOBALS['wp_customize']->add_section( $section_id, $args )`. That's it.
As an example all widget area sections are now summarized into one panel. Feedback appreciated.

props celloexpressions.
see #27406.
Built from https://develop.svn.wordpress.org/trunk@28861


git-svn-id: http://core.svn.wordpress.org/trunk@28662 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-26 20:17:15 +00:00
Scott Taylor 68cfacf9ec `hackificator` bails on this file because the `<meta>` isn't self-closing.
See #27881.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28308 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 21:36:15 +00:00
Dominik Schilling cde6d602ea Widget Customizer: Improve plugin compatibility.
Some plugins are using custom scripts and styles for there widgets. These are available on the Widgets screens, but not in the Customizer yet.
Scripts and styles can be enqueued via: 
* `admin_enqueue_scripts`
* `admin_print_scripts` and `admin_print_scripts-widgets.php`
* `admin_print_styles` and `admin_print_styles-widgets.php`
* `admin_print_footer_scripts` and `admin_footer-widgets.php`
All this hooks are now called in the Customizer too.

Previously we have add the `#widgets-right` ID to a container div via jQuery. Remember: `#widgets-right` exists on the Widgets screen and is used by many plugins to do event delegation from that element.
But since our script files are loaded in the footer, the JavaScript way is a bit late for some plugins.
We have decided to add a `div#widgets-right` container element to customizer. "Less hacky hack."

props westonruter, ocean90. Thanks dpe415 for testing.
fixes #27619.
Built from https://develop.svn.wordpress.org/trunk@27907


git-svn-id: http://core.svn.wordpress.org/trunk@27738 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-02 17:04:14 +00:00
Drew Jaynes 7dc9b02577 Correct misleading verbiage in 'print' hook docs.
Standardizes 'print' hook docs on the concept that hooks are fired when scripts and styles are printed.

Props ericlewis for the initial patch.
Fixes #26924.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27534 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-25 08:05:15 +00:00
Dominik Schilling 6197d52c73 Customizer: Use `esc_url_raw` to escape customizer URL settings to prevent double encoding.
props westonruter, ocean90.
fixes #26569.
Built from https://develop.svn.wordpress.org/trunk@27574


git-svn-id: http://core.svn.wordpress.org/trunk@27417 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-17 22:16:15 +00:00
Andrew Nacin f31ac162f5 Update the Customizer API inline docs.
props ericlewis.
fixes #27065.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27246 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-04 20:21:14 +00:00
Sergey Biryukov 6484ca83a5 Make suggest script visible in the customizer.
props celloexpressions for initial patch.
see #25867.
Built from https://develop.svn.wordpress.org/trunk@26085


git-svn-id: http://core.svn.wordpress.org/trunk@26005 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-11 17:39:09 +00:00
Sergey Biryukov 698bb5744e Define ajaxurl in the customizer.
props celloexpressions.
see #25866.
Built from https://develop.svn.wordpress.org/trunk@26082


git-svn-id: http://core.svn.wordpress.org/trunk@26002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-11 15:47:09 +00:00
Drew Jaynes 1ace516d5f Improve inline documentation for hooks in wp-admin/customize.php.
Props kpdesign.
Fixes #25444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25858 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:57:50 +00:00
Drew Jaynes c8c2c8d2a2 Inline documentation for hooks in wp-admin/customize.php.
Props andg, rzen.
Fixes #25444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25826 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:53:23 +00:00
Andrew Nacin 8ae8e01b67 Remove the old wp_auto_updates_maybe_update cron event. Schedule the new wp_maybe_auto_update event at 7 a.m. and 7 p.m. in the site's timezone.
see #27704.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:53:14 +00:00
Drew Jaynes 564596c03f Improve inline documentation for hooks in wp-admin/customize.php.
Props kpdesign.
Fixes #25444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25770 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-21 21:17:09 +00:00
Drew Jaynes 1ac5a51c18 Inline documentation for hooks in wp-admin/customize.php.
Props andg, rzen.
Fixes #25444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25738 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-17 04:53:09 +00:00
Andrew Nacin fd57b239d2 Don't rely on include_path to include files.
Always use dirname() or, once available, ABSPATH.

props ketwaroo, hakre.
fixes #17092.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25533 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-25 00:18:11 +00:00
Mark Jaquith e9afe4c5d1 Fixes and tweaks for the metabox accordion.
* Fixed hover issues in Customizer.
* Toned down the default active/hover style (as it is normally not the top level menu, and should not be so prominent).
* Allow the active section to be closed.
* Other misc fixes.

Props ocean90, helen. Fixes #23449.

git-svn-id: http://core.svn.wordpress.org/trunk@24734 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-18 17:42:53 +00:00
Mark Jaquith 88f17f77c4 Refactor the Customizer accordion so that it can be used in other locations.
fixes #23449. props lessbloat, aaroncampbell

git-svn-id: http://core.svn.wordpress.org/trunk@23417 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-14 22:58:04 +00:00
Ryan Boren d4abd95449 Scope button classes so they can be used on the frontend without interfering with theme styles.
Props helenyhou, koopersmith
fixes #22644


git-svn-id: http://core.svn.wordpress.org/trunk@22948 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-30 13:40:59 +00:00
Ryan Boren 06ee370814 Pinking shears
git-svn-id: http://core.svn.wordpress.org/trunk@22634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-17 15:11:29 +00:00
Andrew Nacin c9cae7a1b3 Add some ru_RU-specific CSS to the customizer to prevent the spinner from being bumped to the next line. props SergeyBiryukov, see #21890.
git-svn-id: http://core.svn.wordpress.org/trunk@22474 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-08 22:01:06 +00:00
Andrew Nacin abe7ee8ec8 Keyboard accessibility for the theme customizer. props lessbloat, jorbin, JustinSainton. fixes #21283.
git-svn-id: http://core.svn.wordpress.org/trunk@22400 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-06 14:47:25 +00:00
Andrew Nacin 1acd8b556f New HiDPI spinner. Uses clean <span class="spinner"></span> markup.
Be on the lookout for weirdness.
props lessbloat. see #21456.



git-svn-id: http://core.svn.wordpress.org/trunk@22019 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-26 19:57:44 +00:00
nacin 69112517ed Refresh nonces in the customizer. props koopersmith. see #20876.
git-svn-id: http://core.svn.wordpress.org/trunk@21135 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-26 18:48:18 +00:00
nacin 2abd3ad571 Theme Customizer: Validate themes with more than just an existence check.
* The current theme goes through validate_current_theme().
 * If doing a preview of a different theme, we check theme->errors().

Also:
 * Don't attach previewing hooks when previewing the current theme.
Aside from being unnecessary, this prevents issues with a theme with
the error of theme_parent_invalid.
 * Call send_origin_headers() earlier, to allow wp_die( '0' ) to properly
be returned in a domain mapping situation.
 * Fix the 'Save & Activate' message on themes.php.

fixes #20921.



git-svn-id: http://core.svn.wordpress.org/trunk@21069 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-12 18:39:16 +00:00
ryan 9115435213 Customizer: Gravefully handle cookie expipration. Prompt for log in in the preview. Props ocean90, koopersmith, nacin. fixes #20876
git-svn-id: http://core.svn.wordpress.org/trunk@21031 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-08 19:22:11 +00:00
ryan 69ad7a68ff Customizer: Redirect back to referrer. If referrer is a front end page, load that page in the customizer preview. Props nacin, koopersmith. fixes #20877
git-svn-id: http://core.svn.wordpress.org/trunk@21028 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-08 18:45:12 +00:00
koopersmith 14f04132af Theme Customizer: Fix scrolling on iOS and Kindle Fire. props azaozz, helenyhou. fixes #20805.
Also fixes uploader UIs on iOS and Kindle Fire by improving wp.Uploader.
Adds mobile viewport specifications.
Moves scrollbar back to fixed positioning.


git-svn-id: http://core.svn.wordpress.org/trunk@21014 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-06 21:45:17 +00:00
nacin 98b61d9a17 Theme Customizer: Block non-existent or non-allowed themes, unless the non-allowed theme is the active theme. Support a user having edit_theme_options xor switch_themes. fixes #20852.
git-svn-id: http://core.svn.wordpress.org/trunk@21010 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-06 20:34:24 +00:00
nacin 729e723e1d Darken the hover/on states for the customizer section titles. Switch Collapse arrow and label. Improve text contrast. props helenyhou. fixes #20828.
git-svn-id: http://core.svn.wordpress.org/trunk@21006 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-05 20:57:02 +00:00
nacin df1a904b9a Theme Customizer: Add the theme name to the 'You are previewing' string in the left pane, using a placeholder. props SergeyBiryukov, xibe. fixes #20782.
git-svn-id: http://core.svn.wordpress.org/trunk@20955 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-30 16:57:44 +00:00
koopersmith c2c3f2ba7f Theme Customizer: Don't expand theme title if there are no details to show. props nacin, fixes #20757, see #19910.
git-svn-id: http://core.svn.wordpress.org/trunk@20940 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-26 20:47:55 +00:00
koopersmith b3c12bada3 Theme Customizer: Improve activate and publish flow, make customizer states easier to track. fixes #20743, see #19910.
git-svn-id: http://core.svn.wordpress.org/trunk@20899 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-25 17:42:06 +00:00
koopersmith c3e7ce5320 Theme Customizer: Check for CORS support when the preview and admin urls are cross-domain. Add a fallback to the customize control frame, and check support there as well. see #20582, #19910.
git-svn-id: http://core.svn.wordpress.org/trunk@20886 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-24 21:13:21 +00:00
koopersmith 84cc00a6e8 Theme Customizer: Improve accuracy of identifying internal urls. see #20507, #19910.
The 'customize_preview_link' filter has been replaced by 'customize_allowed_urls'.
Improved accuracy when checking for wp-admin.
Improved accuracy when attempting to match the schemes of the control and preview frames.
Improved accuracy of internal link whitelist.


git-svn-id: http://core.svn.wordpress.org/trunk@20882 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-24 19:17:49 +00:00
ryan 35d5894c27 "Save & Activate", "Save & Publish" for customizer save button. Props jane. see #20692 #19910
git-svn-id: http://core.svn.wordpress.org/trunk@20877 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-24 14:44:13 +00:00
koopersmith 4973f92107 Theme Customizer: Change 'Return to...' link to 'Cancel' and move 'Save' button to header. props helenyhou, fixes #20692, see #19910.
git-svn-id: http://core.svn.wordpress.org/trunk@20864 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-24 03:29:51 +00:00
nacin 397fc6f8c9 Refine early bailing checks in customize.php. see #20852.
git-svn-id: http://core.svn.wordpress.org/trunk@20858 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-23 21:00:02 +00:00
nacin 95e1c32720 Customize API shuffling.
* Rename WP_Customize to WP_Customize_Manager.
 * Move customize-controls.php to wp-admin/customize.php.
 * Make customize.php the formal entry point, rather than admin.php?customize=on.
 * Rename is_current_theme_active() to is_theme_active().
 * Add getters for the theme, settings, controls, and sections properties.
 * Allow customize.php (no ?theme=) to load the active theme. Not used yet.
see #20736.



git-svn-id: http://core.svn.wordpress.org/trunk@20852 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-23 17:56:42 +00:00