Commit Graph

56 Commits

Author SHA1 Message Date
Dominik Schilling (ocean90)
206380180e Text Changes: Unify permission error messages.
The new format looks like "Sorry, you are not allowed to <action>.". This provides a consistent experience for all error messages related to missing permissions. It also reduces the number of similar strings and allows translators to provide a consistent style in their language.

Props ramiy, Presskopp.
Fixes #34521.

git-svn-id: https://develop.svn.wordpress.org/trunk@37914 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-29 15:15:40 +00:00
Drew Jaynes
32418ef8ed Docs: Standardize DocBlock summaries for hooks that serve to "print" something to use third-person singular verbs.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37560 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-25 16:04:37 +00:00
Andrea Fercia
112337ce75 Accessibility: Customizer, improve UI controls in customize.php
- makes the mobile preview/customize toggle a button
- changes the "Close" link hidden text from 'Cancel' to 'Close the Customizer and go back to the previous page'
- adds a missing `type="button"` attribute
- removes unnecessary `keydown` events and `preventDefault()`: buttons don't need a keydown event and when they have a `type="button"` attribute there's no default action to prevent

Props Cheffheid, afercia.

Fixes #31487.

git-svn-id: https://develop.svn.wordpress.org/trunk@37230 602fd350-edb4-49c9-b593-d223f7449a82
2016-04-17 15:40:50 +00:00
Sergey Biryukov
fc709f0024 Customizer: Remove the 'appearance' reference from permission error messages added in [33857], [33889], and [33902].
Props Frozzare.
Fixes #36466.

git-svn-id: https://develop.svn.wordpress.org/trunk@37197 602fd350-edb4-49c9-b593-d223f7449a82
2016-04-14 01:57:31 +00:00
Weston Ruter
9d29858b25 Customize: Fix "Loading..." message from persisting in panel title when user does not have manage_options cap to edit blogname.
Reverts part of [36388].

Fixes #35579.


git-svn-id: https://develop.svn.wordpress.org/trunk@36606 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-21 06:14:59 +00:00
Weston Ruter
6dd1dd61a1 Customize: Add a user-friendly way to preview site responsiveness for desktop, tablet, and mobile.
Introduces `WP_Customize_Manager::get_previewable_devices()` with a `customize_previewable_devices` filter to change the default device and which devices are available for previewing. This is a feature that was first pioneered on WordPress.com.

Props celloexpressions, folletto, valendesigns, westonruter, welcher, adamsilverstein, michaelarestad, Fab1en.
Fixes #31195.


git-svn-id: https://develop.svn.wordpress.org/trunk@36532 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 01:56:13 +00:00
Andrea Fercia
cde933e306 After [36171] remove all the occurrences of the old CSS clearfix.
The old clearfix was applied to very specific items and defined multiple times
across CSS files. Uses the new generic `.wp-clearfix` utility class instead.

See #26396.

git-svn-id: https://develop.svn.wordpress.org/trunk@36422 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-30 13:45:37 +00:00
Weston Ruter
b07466c2bf Customizer: Use "(Untitled)" as site title if blogname is empty.
Fixes a layout issue in the Customizer UI. Also de-duplicate title display logic, outputting "Loading..." as site title in PHP with actual title being set upon Customizer `ready`. Also update the site title in response to a `blogname` setting change as opposed to `input` DOM events on the control.

Fixes #35579.


git-svn-id: https://develop.svn.wordpress.org/trunk@36388 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-23 23:14:10 +00:00
Weston Ruter
5ea07785b3 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@34269 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-17 19:41:35 +00:00
Weston Ruter
fd1dbfe003 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@34093 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-13 06:15:42 +00:00
Sergey Biryukov
1ec4b77ac2 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@33857 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-02 17:05:01 +00:00
John Blackbourn
46c336e78a 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


git-svn-id: https://develop.svn.wordpress.org/trunk@33849 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-02 11:28:11 +00:00
Dominik Schilling (ocean90)
3f7b1ca2ff Customizer: Remove obsolete .control-panel-back and .customize-overlay-close buttons.
props afercia, ocean90.
see #31336.
fixes #33229.

git-svn-id: https://develop.svn.wordpress.org/trunk@33599 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-09 18:59:34 +00:00
Dominik Schilling (ocean90)
faac72a070 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@33492 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-29 18:35:40 +00:00
Dominik Schilling (ocean90)
0730240b9a Customizer: Use a <button> for the collapse sidebar … button.
props afercia.
fixes #32819.

git-svn-id: https://develop.svn.wordpress.org/trunk@33153 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-10 21:21:07 +00:00
Weston Ruter
cc19680774 Add JS templates for Customizer Panels and Sections.
This extends the approach taken for Customizer Controls in #29572.

Props celloexpressions, westonruter, ocean90.
See #30737.


git-svn-id: https://develop.svn.wordpress.org/trunk@32658 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-30 00:02:13 +00:00
Dominik Schilling (ocean90)
cced199188 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@32649 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-29 13:56:39 +00:00
Scott Taylor
23ce2efd12 Add @global annotations for wp-admin/*.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32642 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-28 21:40:27 +00:00
Sergey Biryukov
2848b8a911 Replace echo __() with _e().
props marsjaninzmarsa.
fixes #32239.

git-svn-id: https://develop.svn.wordpress.org/trunk@32333 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-03 16:17:06 +00:00
Dominik Schilling (ocean90)
340cb573ae Customizer: Improve the overlay close button for iOS.
see #28784.

git-svn-id: https://develop.svn.wordpress.org/trunk@31984 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-02 17:15:08 +00:00
Dominik Schilling (ocean90)
d6a590e087 Customizer: Make the available widgets overlay closable on narrow screens.
see #28784.

git-svn-id: https://develop.svn.wordpress.org/trunk@31974 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-01 22:24:21 +00:00
Dominik Schilling (ocean90)
bb57072f82 Customizer: Increase initial-scale viewport specification to 1.0.
see #31794, #28784.

git-svn-id: https://develop.svn.wordpress.org/trunk@31921 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-29 12:22:33 +00:00
Dominik Schilling (ocean90)
63502a8a01 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@31705 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-10 22:38:30 +00:00
Andrew Ozz
0778a17875 Add wp.a11y.speak() for audible alerts/updates in screen readers. Props afercia, GrahamArmfield (for the idea), iseulde. Fixes #31368.
git-svn-id: https://develop.svn.wordpress.org/trunk@31594 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-01 19:10:58 +00:00
Mark Jaquith
f1bb5c2fd7 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

git-svn-id: https://develop.svn.wordpress.org/trunk@31533 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-24 20:30:22 +00:00
Sergey Biryukov
34fca78f68 Fix typo in [30760].
props afercia.
fixes #31393.

git-svn-id: https://develop.svn.wordpress.org/trunk@31484 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-20 17:08:32 +00:00
Dominik Schilling (ocean90)
da09ac082b 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@31384 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-09 12:35:38 +00:00
Andrew Ozz
af5c93a432 Customizer - Widgets: add feedback for screen readers when moving up or down. Props adamsilverstein, afercia. Fixes #28892.
git-svn-id: https://develop.svn.wordpress.org/trunk@30760 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-07 00:44:49 +00:00
Drew Jaynes (DrewAPicture)
205a43ed05 Correctly capitalize JavaScript throughout core docs.
Fixes #30569.


git-svn-id: https://develop.svn.wordpress.org/trunk@30695 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-02 00:30:59 +00:00
John Blackbourn
4e1e4745ff Switch to a 403 response code in places where it is more appropriate than a 500 due to permissions errors.
Fixes #10551
Props nacin


git-svn-id: https://develop.svn.wordpress.org/trunk@30356 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-16 06:15:29 +00:00
Dominik Schilling (ocean90)
63642323a5 Customizer: When navigating around the site within the Customizer preview, update the document title.
props westonruter.
fixes #28542.

git-svn-id: https://develop.svn.wordpress.org/trunk@30306 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-11 22:28:38 +00:00
Scott Taylor
b4d0961718 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@30164 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-01 22:16:19 +00:00
Dominik Schilling (ocean90)
90182015e7 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@30102 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-29 22:50:21 +00:00
Gary Pendergast
0e68ecc0b6 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@30055 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-28 18:34:16 +00:00
John Blackbourn
37a3642183 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
git-svn-id: https://develop.svn.wordpress.org/trunk@30014 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-24 16:31:54 +00:00
Dominik Schilling (ocean90)
ab128698ad 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@29903 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-15 17:20:34 +00:00
Helen Hou-Sandi
bcba1996fe 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@29610 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-25 23:04:43 +00:00
Andrew Nacin
bc582fc058 Customizer: Mixed priority sorting for panels and top-level sections.
props celloexpressions.
fixes #28979.


git-svn-id: https://develop.svn.wordpress.org/trunk@29488 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-14 04:42:30 +00:00
Drew Jaynes (DrewAPicture)
6ddc1e5f6d Fix syntax for single- and multi-line comments in wp-admin-directory files.
See #28931.


git-svn-id: https://develop.svn.wordpress.org/trunk@29206 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-17 09:13:53 +00:00
Dominik Schilling (ocean90)
60b1befd8e 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@29170 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-14 19:00:24 +00:00
Dominik Schilling (ocean90)
cf0e666184 Customizer: Make panel title translatable too.
props michalzuber.
see #27406.

git-svn-id: https://develop.svn.wordpress.org/trunk@29135 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-13 15:12:00 +00:00
Helen Hou-Sandi
d1c4c6fd6e 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@29034 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-08 19:52:17 +00:00
Helen Hou-Sandi
bfdd641013 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@29031 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-08 18:18:23 +00:00
Helen Hou-Sandi
c722aca8e5 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.
git-svn-id: https://develop.svn.wordpress.org/trunk@29026 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-08 17:14:20 +00:00
Dominik Schilling (ocean90)
7edd9edde4 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@28861 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-26 20:16:21 +00:00
Scott Taylor
01fa4c0c1e hackificator bails on this file because the <meta> isn't self-closing.
See #27881.


git-svn-id: https://develop.svn.wordpress.org/trunk@28482 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-18 21:35:03 +00:00
Dominik Schilling (ocean90)
b5780fa7b8 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@27907 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-02 17:03:14 +00:00
Drew Jaynes (DrewAPicture)
0e7a34444d 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@27695 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-25 08:04:44 +00:00
Dominik Schilling (ocean90)
d23e0a556c Customizer: Use esc_url_raw to escape customizer URL settings to prevent double encoding.
props westonruter, ocean90.
fixes #26569.

git-svn-id: https://develop.svn.wordpress.org/trunk@27574 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-17 22:15:27 +00:00
Andrew Nacin
a206152c10 Update the Customizer API inline docs.
props ericlewis.
fixes #27065.


git-svn-id: https://develop.svn.wordpress.org/trunk@27398 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-04 20:20:28 +00:00