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
Weston Ruter
bd801ae5db
Customize: Remove redundant aria-label
attributes.
...
Adds an `$options` array argument to `WP_Screen::render_screen_options()` to allow the `div#screen-options-wrap` element to be omitted when `wrap` value is `false`.
Props afercia, westonruter.
Fixes #33182 .
Built from https://develop.svn.wordpress.org/trunk@34093
git-svn-id: http://core.svn.wordpress.org/trunk@34061 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-13 06:16:26 +00:00
Sergey Biryukov
3d1c08a1a5
Provide more helpful feedback than just "Cheatin' uh?" for permission errors in wp-admin/customize.php
.
...
props ericlewis, kraftbj, lukecarbis, mrmist.
fixes #33668 . see #14530 .
Built from https://develop.svn.wordpress.org/trunk@33857
git-svn-id: http://core.svn.wordpress.org/trunk@33825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-02 17:05:22 +00:00
John Blackbourn
606b6d15f1
Introduce wp_removable_query_args()
, which returns an array of single-use query variables which can be removed from a URL.
...
Also applies the function to the return URL when the Customizer is closed.
Fixes #32692
Props swissspidy, Mte90
Built from https://develop.svn.wordpress.org/trunk@33849
git-svn-id: http://core.svn.wordpress.org/trunk@33817 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-02 11:29:23 +00:00
Dominik Schilling
45b8634605
Customizer: Remove obsolete .control-panel-back
and .customize-overlay-close
buttons.
...
props afercia, ocean90.
see #31336 .
fixes #33229 .
Built from https://develop.svn.wordpress.org/trunk@33599
git-svn-id: http://core.svn.wordpress.org/trunk@33566 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-09 19:00:24 +00:00
Dominik Schilling
8679a93f16
Themes: Remove legacy theme preview.
...
The pre-3.4 theme previewer doesn't work when using a static front page.
We kept the old theme preview for no-JS and some browsers that were less capable. But since browsers are doing a better job today we don't need to continue fixing/shipping this legacy code. Bye!
fixes #33178 .
Built from https://develop.svn.wordpress.org/trunk@33492
git-svn-id: http://core.svn.wordpress.org/trunk@33459 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-29 18:36:26 +00:00
Dominik Schilling
75d6c10b01
Customizer: Use a <button>
for the collapse sidebar … button.
...
props afercia.
fixes #32819 .
Built from https://develop.svn.wordpress.org/trunk@33153
git-svn-id: http://core.svn.wordpress.org/trunk@33125 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-10 21:22:26 +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
Dominik Schilling
fccc19b510
Customizer: Replace accordion behavior of sections with a slide-in navigation.
...
This allows users to focus on the contents of the active section more easily and separating the navigation from the content/controls in the Customizer.
props valendesigns, celloexpressions.
see #31336 .
Built from https://develop.svn.wordpress.org/trunk@32649
git-svn-id: http://core.svn.wordpress.org/trunk@32619 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 13:57:26 +00:00
Scott Taylor
b56b9b3e5c
Add @global
annotations for wp-admin/*
.
...
See #32444 .
Built from https://develop.svn.wordpress.org/trunk@32642
git-svn-id: http://core.svn.wordpress.org/trunk@32612 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-28 21:41:30 +00:00
Sergey Biryukov
ed0da72d97
Replace echo __()
with _e()
.
...
props marsjaninzmarsa.
fixes #32239 .
Built from https://develop.svn.wordpress.org/trunk@32333
git-svn-id: http://core.svn.wordpress.org/trunk@32304 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-03 16:18:28 +00:00
Dominik Schilling
eafbdb0a2f
Customizer: Improve the overlay close button for iOS.
...
see #28784 .
Built from https://develop.svn.wordpress.org/trunk@31984
git-svn-id: http://core.svn.wordpress.org/trunk@31963 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-02 17:16:28 +00:00
Dominik Schilling
ba7f53f029
Customizer: Make the available widgets overlay closable on narrow screens.
...
see #28784 .
Built from https://develop.svn.wordpress.org/trunk@31974
git-svn-id: http://core.svn.wordpress.org/trunk@31953 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-01 22:25:28 +00:00
Dominik Schilling
7bc60fed4a
Customizer: Increase initial-scale viewport specification to 1.0.
...
see #31794 , #28784 .
Built from https://develop.svn.wordpress.org/trunk@31921
git-svn-id: http://core.svn.wordpress.org/trunk@31900 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-29 12:23:27 +00:00
Dominik Schilling
b96a624cb9
Customizer: Fix previewing and applying widgets when previewing another theme.
...
* Unset `wp_get_sidebars_widgets()`' non-admin cache var `$_wp_sidebars_widgets` in Customize theme preview.
* Add `WP_Customize_Setting::$dirty` so that settings can be initially-dirty when the Customizer loads.
* Mark `old_sidebars_widgets_data` setting initially-dirty.
* Mark all `sidebars_widgets` settings as initially-dirty during theme switch.
props westonruter.
see #31484 .
Built from https://develop.svn.wordpress.org/trunk@31705
git-svn-id: http://core.svn.wordpress.org/trunk@31686 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-10 22:39:28 +00:00
Andrew Ozz
5e07bfdfd1
Add wp.a11y.speak()
for audible alerts/updates in screen readers. Props afercia, GrahamArmfield (for the idea), iseulde. Fixes #31368 .
...
Built from https://develop.svn.wordpress.org/trunk@31594
git-svn-id: http://core.svn.wordpress.org/trunk@31575 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-01 19:11:27 +00:00
Mark Jaquith
8b180b9a46
Add theme browsing and theme switching to the Customizer
...
* Brings into core the Customizer Theme Switcher feature plugin
* You can now browse, preview, and activate themes right from the Customizer
fixes #31303 .
props celloexpressions, afercia, westonruter, folletto, designsimply
Built from https://develop.svn.wordpress.org/trunk@31533
git-svn-id: http://core.svn.wordpress.org/trunk@31514 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-24 20:31:24 +00:00
Sergey Biryukov
3c64d94ba9
Fix typo in [30760].
...
props afercia.
fixes #31393 .
Built from https://develop.svn.wordpress.org/trunk@31484
git-svn-id: http://core.svn.wordpress.org/trunk@31465 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-20 17:09:28 +00:00
Dominik Schilling
941075c8ca
Improve the Customize experience on mobile.
...
Before: https://make.wordpress.org/flow/2015/02/02/a-peek-at-the-customizer-on-an-iphone-6/
After: https://make.wordpress.org/flow/2015/02/03/vizrec-for-28784-improve-the-customize-experience-on-mobile-iphone-6-28784-diff-4-2-alpha-31325/
props celloexpressions.
see #28784 .
Built from https://develop.svn.wordpress.org/trunk@31384
git-svn-id: http://core.svn.wordpress.org/trunk@31365 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 12:36:28 +00:00
Andrew Ozz
53d22ffb10
Customizer - Widgets: add feedback for screen readers when moving up or down. Props adamsilverstein, afercia. Fixes #28892 .
...
Built from https://develop.svn.wordpress.org/trunk@30760
git-svn-id: http://core.svn.wordpress.org/trunk@30750 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-07 00:45:24 +00:00
Drew Jaynes
ad297dab6d
Correctly capitalize JavaScript throughout core docs.
...
Fixes #30569 .
Built from https://develop.svn.wordpress.org/trunk@30695
git-svn-id: http://core.svn.wordpress.org/trunk@30685 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-02 00:31:22 +00:00
John Blackbourn
d88ed475b0
Switch to a 403
response code in places where it is more appropriate than a 500
due to permissions errors.
...
Fixes #10551
Props nacin
Built from https://develop.svn.wordpress.org/trunk@30356
git-svn-id: http://core.svn.wordpress.org/trunk@30355 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-16 06:16: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
Scott Taylor
e41e38183d
In customize.php
, check that $autofocus
is an array
after running wp_unslash()
instead of before. This is admittedly to skip a traversable hint in Scrutinizer.
...
See #30224 .
Built from https://develop.svn.wordpress.org/trunk@30164
git-svn-id: http://core.svn.wordpress.org/trunk@30164 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 22:17:22 +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
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