Commit Graph

54 Commits

Author SHA1 Message Date
Dominik Schilling 2ecb586214 Customizer: Add an `aria-expanded` attribute to the Add Menu button to improve accessibility.
props afercia.
fixes #32791.
Built from https://develop.svn.wordpress.org/trunk@32971


git-svn-id: http://core.svn.wordpress.org/trunk@32942 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-27 10:05:24 +00:00
Scott Taylor 8b1286417e `ob_get_contents()` followed by `ob_end_clean()` can be replaced by `ob_get_clean()`.
See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32936 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-27 01:12:24 +00:00
Scott Taylor eb4cd4880b Add missing access modifier to `WP_Customize_Sidebar_Section::json()`.
See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32848 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-19 22:06:27 +00:00
Dominik Schilling 2d2445516c Customizer: Decode HTML entities of panel/section titles.
Titles are now passed into Underscore templates but HTML-escaped, see #30737.

fixes #32670.
Built from https://develop.svn.wordpress.org/trunk@32822


git-svn-id: http://core.svn.wordpress.org/trunk@32793 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-17 19:48:25 +00:00
Dominik Schilling 62e3a0c15c Add menu management to the Customizer.
This brings in the Menu Customizer plugin: https://wordpress.org/plugins/menu-customizer/.

props celloexpressions, westonruter, valendesigns, voldemortensen, ocean90, adamsilverstein, kucrut, jorbin, designsimply, afercia, davidakennedy, obenland.
see #32576.
Built from https://develop.svn.wordpress.org/trunk@32806


git-svn-id: http://core.svn.wordpress.org/trunk@32777 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-16 22:08: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
Scott Taylor 19a3aacc94 Add `@static*` annotations where they are missing.
Initialize all static vars that are not, most to `null`.

See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32620 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 15:43:29 +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 b2bbbf9759 In `class-wp-customize-*`, clarify/add some `@param`/`@return` blocks. Disambiguate some functions that are trying to return the `void` response of another function they call internally.
See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32505 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-21 22:05:24 +00:00
Dominik Schilling d54f1feb6b Customizer Theme Switcher: Use text input for the search field to prevent double tap issues for Preview and Customize buttons on iOS.
see #31794.
Built from https://develop.svn.wordpress.org/trunk@32127


git-svn-id: http://core.svn.wordpress.org/trunk@32106 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-14 17:45:27 +00:00
Drew Jaynes 8737fcff65 Document the `$theme` property in `WP_Customize_Themes_Section`.
Also adds a missing `@access` tag to the DocBlock for `WP_Customize_Themes_Section->render()`.

See [31533]. See #31888.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32012 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-05 15:10:26 +00:00
Dominik Schilling 254b9e3264 Customizer Theme Switcher: Navigation streamlining.
* Detach Themes section from other controls
* Move to buttons to navigate back and forth
* Change titles based on current theme status, active/previewing
* Hide the active/previewing theme from the list of available themes

props folletto for the design concepts.
props designsimply, celloexpressions for initial patches.
props Team Gandalf.
see #31289.
Built from https://develop.svn.wordpress.org/trunk@31975


git-svn-id: http://core.svn.wordpress.org/trunk@31954 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-01 22:51:27 +00:00
Dominik Schilling 57fce2e593 Customizer Theme Switcher: Remove "Add New" references.
The current iteration takes you out of the customizer context, which isn't great UX and doesn't really fit into the flows targeted by this particular UI.

fixes #31837.
Built from https://develop.svn.wordpress.org/trunk@31968


git-svn-id: http://core.svn.wordpress.org/trunk@31947 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-01 19:50:29 +00:00
Dominik Schilling 96b88a391b Theme Switcher: Use the global panel back button instead of adding a new one.
This ensures the back button is visible on iOS devices. Same as in [29610].

see #31794.
Built from https://develop.svn.wordpress.org/trunk@31918


git-svn-id: http://core.svn.wordpress.org/trunk@31897 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-28 22:09:26 +00:00
Dominik Schilling 55519962cc Improve newly added strings for i18n:
* Use a placeholder for the theme name to be able to reorder words.
* Uppercase D for "Theme Details" to match existing strings.
* Merge two revision date formats.
* Add translator comment to strings with placeholders.

props obenland.
see #31776.
Built from https://develop.svn.wordpress.org/trunk@31905


git-svn-id: http://core.svn.wordpress.org/trunk@31884 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-26 20:56:26 +00:00
Drew Jaynes 2058532f43 Add a missing file header and clean up class DocBlocks in wp-includes/class-wp-customize-section.php.
* Adds a file header separate from the `WP_Customize_Section` class block
* Fixes formatting for the `WP_Customize_Section`, `WP_Customize_Themes_Section`, and `WP_Customize_Sidebar_Section` class DocBlocks.

See #31446.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31523 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-25 08:13:26 +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
Scott Taylor 0a511680f4 Adding a `@return` annotation to constructors is generally not recommended as a constructor does not have a meaningful return value. Constructors do not have meaningful return values, anything that is returned from here is discarded.
See #30799.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31107 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-10 06:54:23 +00:00
Scott Taylor 905f35f289 In Customizer classes:
* `public final function` methods should be `final public function` - confusing Hack and aligns with PSR2
* Some methods were missing access modifiers

See #30799.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31064 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 06:02:24 +00:00
Dominik Schilling 0826f8ede2 Customizer: Add panel/section type as CSS class to the HTML container.
see #28709.
Built from https://develop.svn.wordpress.org/trunk@30714


git-svn-id: http://core.svn.wordpress.org/trunk@30704 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-02 22:16:23 +00:00
Drew Jaynes bffe95d34c Docs Formatting: Backtick-escape inline code for all remaining dynamic hook docs in wp-includes/*.
Affects DocBlocks for the following hooks:
* `auth_post_meta_{$meta_key}`
* `term_links-$taxonomy`
* `customize_render_control_ . $this->id`
* `customize_render_panel_{$this->id}`
* `customize_render_section_{$this->id}`
* `customize_preview_{$this->id}`
* `customize_save_ . $this->id_data[ 'base' ]`
* `customize_update_ . $this->type`
* `customize_value_ . $this->id_data[ 'base' ]`
* `customize_sanitize_js_{$this->id}`
* `comment_form_field_{$name}`
* `comment_{$old_status}_to_{$new_status}`
* `comment_{$new_status}_{$comment->comment_type}`
* `extra_{$context}_headers`
* `get_template_part_{$slug}`
* `get_the_generator_{$type}`
* `get_{$adjacent}_post_join`
* `get_{$adjacent}_post_where`
* `get_{$adjacent}_post_sort`
* `{$adjacent}_post_rel_link`
* `{$adjacent}_post_link`
* `{$adjacent}_image_link`
* `blog_option_{$option}`
* `$permastructname . _rewrite_rules`
* `{$type}_template`
* `theme_mod_{$name}`
* `pre_set_theme_mod_$name`
* `current_theme_supports-{$feature}`
* `get_user_option_{$option}`
* `edit_user_{$field}`
* `pre_user_{$field}`
* `user_{$field}`

See #30552.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30646 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 12:10:23 +00:00
Drew Jaynes 49fe81ebeb 4.1 Docs Audit: Improve inline documentation for various properties and methods in the `WP_Customize_Section`, `WP_Customize_Section`, and `WP_Customize_Sidebar_Section` classes.
See #30469.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30598 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-28 11:10:22 +00:00
Dominik Schilling 41197a7c31 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.
Built from https://develop.svn.wordpress.org/trunk@30329


git-svn-id: http://core.svn.wordpress.org/trunk@30328 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-13 12:19:23 +00:00
Dominik Schilling 73b4f6f449 Customizer: Add stable sorting for panels, sections and controls in JS. Improve sorting in PHP.
props westonruter.
fixes #30225.
Built from https://develop.svn.wordpress.org/trunk@30214


git-svn-id: http://core.svn.wordpress.org/trunk@30214 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-03 21:35: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
Dominik Schilling eb0dbc8cb5 Customizer: Increase default priority for a section to 160.
props celloexpressions.
fixes #29172.
Built from https://develop.svn.wordpress.org/trunk@29508


git-svn-id: http://core.svn.wordpress.org/trunk@29285 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-15 19:36:16 +00:00
Andrew Nacin ba9ee74028 Separate WP_Customize_Panel from WP_Customize_Section.
props celloexpressions.
fixes #29197.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29265 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-14 04:40:17 +00:00
Dominik Schilling d062663180 Customizer: Fix ID attribute for a panel.
props celloexpressions.
fixes #29174.
Built from https://develop.svn.wordpress.org/trunk@29482


git-svn-id: http://core.svn.wordpress.org/trunk@29260 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-13 18:26:15 +00:00
Sergey Biryukov 440be3565d Customizer: Add screen reader text to announce that panels and sections are expandable.
props joedolson, ocean90.
fixes #27591.
Built from https://develop.svn.wordpress.org/trunk@29240


git-svn-id: http://core.svn.wordpress.org/trunk@29024 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-19 02:37:16 +00:00
Drew Jaynes 20ce795ff2 Inline documentation cleanup for 4.0 audit.
phpDoc tweaks for methods added in [28861]:
* `WP_Customize_Panel` constructor method
* `WP_Customize_Panel::render()` method

See #27406 and #28885.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28942 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-14 00:40:15 +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
Dominik Schilling e8369f9d25 Customizer: Make screen reader text translatable.
see #27406.
Built from https://develop.svn.wordpress.org/trunk@29132


git-svn-id: http://core.svn.wordpress.org/trunk@28917 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-13 10:54:15 +00:00
Helen Hou-Sandí 3575612966 Customizer panels:
* Close all accordion sections when going in and out of panels.
* Fix panel positioning when top-level Customizer controls are scrolled down.
* Keyboard accessibility: only focus on visible elements and transfer between them as needed when navigating around panels.

props celloexpressions. see #27406.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28823 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-08 20:19:15 +00:00
Helen Hou-Sandí e1db9240b7 Support descriptions for individual customizer controls.
* Control title (label) markup will also only be output if specified.
* Control section descriptions are no longer italicized for visual hierarchy / differentiation.

props celloexpressions. fixes #27981.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28725 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-30 15:55:17 +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
Sergey Biryukov c6ef7d05e0 Allow for easier adding of custom class variables when extending WP_Customize_Section or WP_Customize_Setting.
props rhurling.
fixes #27315.
Built from https://develop.svn.wordpress.org/trunk@28827


git-svn-id: http://core.svn.wordpress.org/trunk@28631 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-24 22:56:14 +00:00
Scott Taylor 3c209b6f56 Add missing access modifiers to methods/members in `WP_Customize_*`.
See #27881, #22234.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28335 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-19 05:45:16 +00:00
Drew Jaynes 3d2728f7a6 Improve some inline documentation for class properties in `WP_Customize_Section`.
Props leewillis77 for the initial patch.
Fixes #26245.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27733 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-02 03:02:16 +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
Drew Jaynes 751833c97c Inline documentation for hooks in wp-includes/class-wp-customize-section.php.
Props leewillis77, kpdesign.
Fixes #26196.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26775 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-02 02:07:11 +00:00
Helen Hou-Sandí 249bb75f8f Actually display customizer section descriptions in a meaningful way. props obenland, helen. fixes #24392.
Built from https://develop.svn.wordpress.org/trunk@25102


git-svn-id: http://core.svn.wordpress.org/trunk@25084 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-23 16:18:10 +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
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
ryan 564a7db2cb phpdoc for Customizer classes and methods. Props bananastalktome. see #21303
git-svn-id: http://core.svn.wordpress.org/trunk@21354 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-07-26 21:45:33 +00:00
duck_ 457d2db64b Add some missing documentation and fix a couple of typos. Props roscius. Fixes #19756.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20349 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-04-04 17:32:03 +00:00
koopersmith 30d798ec8d Create WP_Customize_Control to separate the process of rendering a control from fetching, previewing, and saving its values. see #19910.
Many-to-many mapping between settings and controls.
* Settings and controls have been separated in both the PHP (WP_Customize_Setting, WP_Customize_Control) and the JS (wp.customize.Setting, wp.customize.Control).
* While most settings are tied to a single control, some require multiple controls. The 'header_textcolor' control is a good example: to hide the header text, header_textcolor is set to 'blank'.

Add 'Display Header Text' control.

A handful of miscellaneous bugfixes along the way.

Notes:
* Controls should be separated out a bit more; juggling type-specific arguments in the switch statement is rather inelegant.
* Page dropdowns are currently inactive and need to be re-linked.

git-svn-id: http://svn.automattic.com/wordpress/trunk@20295 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-28 04:14:09 +00:00
koopersmith 5443bec597 Theme Customizer: Add a WP_Customize_Setting->visibility parameter to show/hide a control based upon the value of another control. Also shifts rendering the setting wrapper element into WP_Customize_Setting->render() and adds WP_Customize_Setting->render_content(). see #19910.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20260 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-22 07:17:26 +00:00
koopersmith dbd50b0972 Theme Customizer: Numerous API refinements and bugfixes. Add a theme_supports check for header_textcolor. see #19910.
* prepare_controls() now removes any settings and sections that return false for check_capabilities().
* Added maybe_render() methods to both settings and sections that call the protected render() methods.
* Stop firing front-end preview functionality when rendering the controls.
* Merged the WP_Customize_Setting->_render_type() method into WP_Customize_Setting->render().
* Removed the 'customize_render_control-' hook; use 'customize_render_setting' instead.
* Added a  property to sections and settings so they no longer rely on the  global. Hooray for dependency injection.
* Shifted calls to WP_Customize_Setting->enqueue() to the 'customize_controls_enqueue_scripts' action.
* Added a theme_supports check for the header_textcolor setting.

git-svn-id: http://svn.automattic.com/wordpress/trunk@20248 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-21 22:55:43 +00:00
koopersmith 61d7f6a476 Theme Customizer: Improve WP_Customize_Setting->check_capabilities(). Add support for arrays in WP_Customize_Setting->capability and WP_Customize_Setting->theme_supports. Don't bail when WP_Customize_Setting->capability is empty. see #19910.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20232 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-21 04:59:57 +00:00
koopersmith 1ee1b90e05 Theme Customizer: Move section descriptions to the title attribute of the section name. see #19910.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20182 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-15 05:32:40 +00:00