Commit Graph

54 Commits

Author SHA1 Message Date
Helen Hou-Sandi
8ae79e3d33 Customizer: Better experience for widget filtering in desktop and iOS Safari.
Previously, the search field did not appear at all in desktop Safari, and the auto-focus keyboard fly-up in iOS rendered widget adding frustrating at best.

props dsmart, ocean90.
fixes #31987.


git-svn-id: https://develop.svn.wordpress.org/trunk@32243 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-21 14:14:27 +00:00
Dominik Schilling (ocean90)
d8f439c335 Customizer: Refresh nonces when a session expires and the user logs in again.
This was broken since 4.0 and the introduction of user session tokens. The nonces are now tied to session tokens as opposed to user IDs, and thus they change with each re-login.
Custom nonces can be added through the `customize_refresh_nonces` filter. On a successful refresh request the JavaScript API will trigger a `nonce-refresh` event. See widget's update nonce as an example.

props westonruter for initial patch.
fixes #31294.

git-svn-id: https://develop.svn.wordpress.org/trunk@32054 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-06 15:09:21 +00:00
Drew Jaynes
a4d03d360a Add missing parameter and return descriptions to WP_Customize_Widgets->filter_customize_dynamic_setting_args().
See [31370]. See #31888.


git-svn-id: https://develop.svn.wordpress.org/trunk@32036 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-05 15:35:22 +00:00
Drew Jaynes
efaab521f9 Add parameter and return descriptions for WP_Customize_Widgets->get_setting_type().
See [31370]. See #31888.


git-svn-id: https://develop.svn.wordpress.org/trunk@32035 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-05 15:19:01 +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
Drew Jaynes
7bb4ab4088 Add a missing file header to wp-includes/class-wp-customize-widgets.php, separate out the class DocBlock for WP_Customize_Widgets.
Fixes #31446.


git-svn-id: https://develop.svn.wordpress.org/trunk@31544 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-25 08:19:54 +00:00
Dominik Schilling (ocean90)
2518bbbb1f Customizer: Introduce an API to create WP_Customize_Settings for dynamically-created settings.
* Introduce WP_Customize_Manager::add_dynamic_settings() to register dynamically-created settings.
* Introduce `customize_dynamic_setting_args` filter to pass an array of args to a dynamic setting's constructor.
* Add unit tests for WP_Customize_Manager and WP_Customize_Widgets.
* See WP_Customize_Widgets as an example.

props westonruter.
fixes #30936.

git-svn-id: https://develop.svn.wordpress.org/trunk@31370 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-08 23:10:05 +00:00
Sergey Biryukov
4c4de36c5c Customizer: Fix form tag replacement in WP_Customize_Widgets::get_widget_control() after [31200].
see #30126.

git-svn-id: https://develop.svn.wordpress.org/trunk@31226 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-17 13:10:27 +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
Scott Taylor
5817aa262d Improve various @param docs for src/wp-includes/class-wp-customize*.php.
See #30224.


git-svn-id: https://develop.svn.wordpress.org/trunk@30676 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-30 23:32:31 +00:00
Dominik Schilling (ocean90)
8d476eee4f Customizer: Improve ability to filter active state for widget area Customizer sections.
* Mark panels, sections, controls as active if preview explicitly indicates.
* Introduce `WP_Customize_Sidebar_Section` PHP class, and `SidebarSection` JS class.
* Move logic for determining whether a sidebar section is active from the `SidebarControl` to `SidebarSection`.

props westonruter.
fixes #30235.

git-svn-id: https://develop.svn.wordpress.org/trunk@30329 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-13 12:18:01 +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
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
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
Andrew Nacin
a8e8ed6550 Verify the MAC earlier in WP_Customize_Widgets. props duck_.
git-svn-id: https://develop.svn.wordpress.org/trunk@29377 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-05 06:49:22 +00:00
Drew Jaynes (DrewAPicture)
17ba9ab973 Inline documentation cleanup for 4.0 audit.
phpDoc tweaks for methods, properties, and filters added in [29051]:
* `WP_Customize_Widgets::is_widget_rendered()` method
* `WP_Customize_Widgets::is_sidebar_rendered()` method

See #27993 and #28885.


git-svn-id: https://develop.svn.wordpress.org/trunk@29159 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-14 00:41:20 +00:00
Sergey Biryukov
1477277b53 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@29051 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-09 23:57:29 +00:00
Sergey Biryukov
f0bde0c945 Use wp_hash() instead of AUTH_KEY in WP_Customize_Widgets::get_instance_hash_key().
props juliobox.
fixes #28783.

git-svn-id: https://develop.svn.wordpress.org/trunk@29028 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-08 17:16:26 +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
Andrew Nacin
6ac55e5a83 Widgets: Remove create_function() from the customizer class.
props westonruter.
fixes #27805.


git-svn-id: https://develop.svn.wordpress.org/trunk@28143 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-16 00:10:09 +00:00
Andrew Nacin
6196b0811e Add missing string translation in widgets.
see #27453, #27112.


git-svn-id: https://develop.svn.wordpress.org/trunk@28140 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-16 00:00:33 +00:00
Andrew Nacin
a8efcb993f Customizer: Properly handle widget settings when activating a previewed theme.
props westonruter, ocean90, gcorne.
fixes #27767.


git-svn-id: https://develop.svn.wordpress.org/trunk@28124 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-14 22:45:40 +00:00
Drew Jaynes (DrewAPicture)
6a8889ea8c Inline documentation for hooks in wp-includes/class-wp-customize-widgets.php
Fixes #27531.


git-svn-id: https://develop.svn.wordpress.org/trunk@28117 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-14 18:40:29 +00:00
Dominik Schilling (ocean90)
ff78684898 Widget Customizer: Fix widget filtering.
props westonruter.
fixes #27451.

git-svn-id: https://develop.svn.wordpress.org/trunk@28044 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-08 08:11:33 +00:00
Dominik Schilling (ocean90)
da677f34aa Widget Customizer: Move WidgetCustomizer to wp.customize.Widgets. First pass.
see #27690.

git-svn-id: https://develop.svn.wordpress.org/trunk@27985 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-07 09:03:18 +00:00
Dominik Schilling (ocean90)
e4d4e0020b Widget Customizer: Remove leading/trailing whitespace to prevent jQuery migrate warning.
props gcorne.
fixes #27689.

git-svn-id: https://develop.svn.wordpress.org/trunk@27973 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-06 20:39:33 +00:00
Dominik Schilling (ocean90)
8708a44d4a Widget Customizer: Minor code cleanup.
* Remove type hinting from `WP_Customize_Widgets`
* Rename `inject_preview_css` to `print_preview_css`
* Remove stray `@todo`

fixes #27534.

git-svn-id: https://develop.svn.wordpress.org/trunk@27968 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-06 18:53:31 +00:00
Dominik Schilling (ocean90)
b0fae8aa2a Widget Customizer: Remove leading underscores from public methods.
Fix also an incorrect hook name in `stop_capturing_option_updates()`.

props DrewAPicture.
see #27534.

git-svn-id: https://develop.svn.wordpress.org/trunk@27910 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-02 18:30:06 +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)
adf5fb1fe1 Coding standards and readability spacing for WP_Customize_Widgets.
Also explicitly re-mark `_capture_filter_pre_update_option()` and `_capture_filter_pre_get_option()` as public.

See #27534.


git-svn-id: https://develop.svn.wordpress.org/trunk@27904 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-02 06:11:49 +00:00
Drew Jaynes (DrewAPicture)
0db976f610 Second-pass inline documentation improvements for WP_Customize_Widgets.
See #27534.


git-svn-id: https://develop.svn.wordpress.org/trunk@27903 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-02 05:44:54 +00:00
Dominik Schilling (ocean90)
c0373b288c Widget Customizer: Add a label to widget search.
props SergeyBiryukov.
fixes #27590.

git-svn-id: https://develop.svn.wordpress.org/trunk@27860 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-30 15:46:28 +00:00
Dominik Schilling (ocean90)
9fb6f9557b Widget Customizer: Remove strings from WP_Error returns and go with just IDs.
fixes #27419.


git-svn-id: https://develop.svn.wordpress.org/trunk@27854 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-29 21:43:39 +00:00
Drew Jaynes (DrewAPicture)
a2d810d024 The sidebar_admin_setup hook should only be documented once in wp-admin/widgets.php. All others are duplicates.
See #25374, #25501, #27531.


git-svn-id: https://develop.svn.wordpress.org/trunk@27823 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 19:46:26 +00:00
Sergey Biryukov
0116e778d9 Widget Customizer: Simplify conditions in setup_widget_addition_previews().
see #27534.

git-svn-id: https://develop.svn.wordpress.org/trunk@27820 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 17:08:05 +00:00
Dominik Schilling (ocean90)
814b798b0d Widget Customizer: Simplify nonces.
see #27534.

git-svn-id: https://develop.svn.wordpress.org/trunk@27819 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 15:34:17 +00:00
Dominik Schilling (ocean90)
891e6183ee Widget Customizer: Remove UPDATE_WIDGET_AJAX_ACTION and UPDATE_WIDGET_NONCE_POST_KEY constants.
see #27534.

git-svn-id: https://develop.svn.wordpress.org/trunk@27818 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 15:01:41 +00:00
Dominik Schilling (ocean90)
2d4b606e14 Widget Customizer: Convert static WP_Customize_Widgets class into instantiated class and merge Options_Transaction into WP_Customize_Widgets.
see #27504.
props westonruter.


git-svn-id: https://develop.svn.wordpress.org/trunk@27816 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 14:06:10 +00:00
Dominik Schilling (ocean90)
cc102fe0ff Widget Customizer: Set hightlight color to blue. Same color as in [27741].
fixes #27358.

git-svn-id: https://develop.svn.wordpress.org/trunk@27814 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 13:32:53 +00:00
Dominik Schilling (ocean90)
723caec67c Widget Customizer: First pass for inline docs.
props DrewAPicture.
see #27534.

git-svn-id: https://develop.svn.wordpress.org/trunk@27753 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-26 22:28:49 +00:00
Dominik Schilling (ocean90)
2e1f98d2a0 Widget Customizer: Improve widget highlighting.
* Prefix box-shadow in inject_preview_css()
* Remove border-radius in inject_preview_css()
* Prevent hidden box-shadows in Customizer

see #27358.

git-svn-id: https://develop.svn.wordpress.org/trunk@27702 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-25 11:47:27 +00:00
Dominik Schilling (ocean90)
2a1899e319 Widget Customizer: Fix 'WidgetCustomizerPreview' is undefined error in IE8/9.
* Move `WidgetCustomizerPreview` to `wp.customize.WidgetCustomizerPreview`
* Move `WidgetCustomizerPreview_exports` to export_preview_data()
* Use `_wpWidgetCustomizerPreviewSettings` to transfer settings to `wp.customize.WidgetCustomizerPreview`

see #27485.

git-svn-id: https://develop.svn.wordpress.org/trunk@27653 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-22 21:03:18 +00:00
Dominik Schilling (ocean90)
429a018b9c Widget Customizer: Improve error handling. First pass.
* Replace Widget_Customizer_Exception with WP_Error
* Call Previewer.cheatin() to show the cheating message if a user can't change widgets
* Call Previewer.login() to show the login form if a user is logged out
* Show a generic error message on failures

see #27419.

git-svn-id: https://develop.svn.wordpress.org/trunk@27652 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-22 20:54:17 +00:00
Andrew Nacin
8c3ac32372 More translation cleanups.
Affects widgets (see #27112), custom headers (see #21785), theme installer (see #27055, reverts [27614]), and some media stuff. Untranslates some complicated strings that need additional study.

see #27453.


git-svn-id: https://develop.svn.wordpress.org/trunk@27620 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-19 08:17:08 +00:00
Dominik Schilling (ocean90)
5358f081be Widget Customizer: Remove unused vars.
see #27112.

git-svn-id: https://develop.svn.wordpress.org/trunk@27588 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-18 18:34:26 +00:00
Dominik Schilling (ocean90)
183e283e56 Widget Customizer: Remove special filter for Settings Revisions plugin.
see #27112.

git-svn-id: https://develop.svn.wordpress.org/trunk@27586 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-18 16:47:47 +00:00
Dominik Schilling (ocean90)
e60ee04f54 Widget Customizer: Move preview script to wp_default_scripts().
git-svn-id: https://develop.svn.wordpress.org/trunk@27585 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-18 15:30:12 +00:00
Dominik Schilling (ocean90)
c2a4665966 Widget Customizer: Restore highlighting of widgets in preview.
props westonruter.
see #27358.

git-svn-id: https://develop.svn.wordpress.org/trunk@27584 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-18 15:20:38 +00:00
Dominik Schilling (ocean90)
a339826668 Widget Customizer: Make temp hooks final and add inline docs.
New hooks are `dynamic_sidebar_before`, `dynamic_sidebar_after`, `dynamic_sidebar_has_widgets ` and `is_active_sidebar`.
Remove obsolete use of hacky dynamic_sidebar hook.

props westonruter, DrewAPicture.
fixes #25368.

git-svn-id: https://develop.svn.wordpress.org/trunk@27543 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-14 20:30:54 +00:00