Commit Graph

124 Commits

Author SHA1 Message Date
Weston Ruter
cc5e4928ff Docs: Improve phpdoc for WP_Customize_Manager, WP_Customize_Control, WP_Customize_Setting, and WP_Customize_Selective_Refresh.
Props 4nickpick, sagarprajapati, ketuchetan, BharatKambariya, mrahmadawais, westonruter.
Fixes #39671.


git-svn-id: https://develop.svn.wordpress.org/trunk@40804 602fd350-edb4-49c9-b593-d223f7449a82
2017-05-19 20:24:58 +00:00
Weston Ruter
9528abe32b Customize: Clean up docs and code style for customize changes in 4.7.
* Adds missing `resolve`/`fail` for promise returned by `loadThemePreview`.
* Adds missing jsdoc blocks and tags.
* Adds missing phpdoc and makes corrections.

See #37770.
Fixes #38908.


git-svn-id: https://develop.svn.wordpress.org/trunk@39345 602fd350-edb4-49c9-b593-d223f7449a82
2016-11-23 06:04:23 +00:00
Helen Hou-Sandi
208998a9d5 Customize: Make "Add New Page" buttons less intrusive.
They now better match the existing add functionality from the category metabox and are better separated from the surrounding inputs. All hail `.button-link`.

fixes #38164. see #35126.


git-svn-id: https://develop.svn.wordpress.org/trunk@39194 602fd350-edb4-49c9-b593-d223f7449a82
2016-11-10 02:55:56 +00:00
Drew Jaynes
297076eda4 Docs: Fix multiple trivial typos throughout a variety of core files.
Props ottok.
Fixes #38489.


git-svn-id: https://develop.svn.wordpress.org/trunk@39051 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-31 06:27:53 +00:00
Weston Ruter
16bfeb6608 Customize: Improve custom background properties UI.
Introduces new control for managing the background position. Adds control for setting the `background-size`.

Props cdog, celloexpressions, grapplerulrich, MikeHansenMe, FolioVision, afercia, helen, melchoyce, karmatosed, westonruter, Kelderic, sebastian.pisula.
Fixes #22058.


git-svn-id: https://develop.svn.wordpress.org/trunk@38948 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-26 06:51:11 +00:00
Weston Ruter
c6d8d79f15 Customize: Add explanatory note for custom_css control via textarea[placeholder] and expose any defined input_attrs on such textarea controls.
Props melchoyce, westonruter, celloexpressions.
See #37439.
Fixes #38493.


git-svn-id: https://develop.svn.wordpress.org/trunk@38933 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-25 22:50:39 +00:00
Weston Ruter
4e8410a886 Customize: Allow page stubs to be created via dropdown-pages controls in the Static Front Page section.
This ability was previously added to nav menus via the available page items panel. The "Add New Page" button only appears when the `allow_addition` control param is supplied as `true`. Code is adapted from the Customize Posts feature plugin.

Props celloexpressions, westonruter.
See #38013, #34923.
Fixes #38164.


git-svn-id: https://develop.svn.wordpress.org/trunk@38906 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-25 06:30:27 +00:00
Weston Ruter
7079459b77 Customize: Let static_front_page section be contextually active based on whether there are any published pages.
If there are no pages when the customizer is opened, the `static_front_page` section will be hidden. As soon as a page is created in the customizer session, the `static_front_page` section will be revealed. Previously the section would not be registered if there were no pages. Page stubs created via nav menus will appear in the `dropdown-pages` controls for `page_for_posts` and `page_on_front`, and such page stubs will thus cause the `static_front_page` section to appear. Plugins that facilitate page creation in the customizer by filtering `get_pages` will also cause the section to appear.

See #34923.
Fixes #38013.


git-svn-id: https://develop.svn.wordpress.org/trunk@38624 602fd350-edb4-49c9-b593-d223f7449a82
2016-09-20 00:46:54 +00:00
Scott Taylor
cba0e2c8f7 Bootstrap: do not go gentle into that good night r38411, r38412, and parts of r38389.
See #36335.


git-svn-id: https://develop.svn.wordpress.org/trunk@38470 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-31 16:30:48 +00:00
Scott Taylor
4225e71a6b Bootstrap: after r38409 and r38410, revert r38402 which reverted r38399.
This fixes the paths in `wp-vendor/` that were including `src`. I want to drop this in so we can find out what else will break.

See #36335.


git-svn-id: https://develop.svn.wordpress.org/trunk@38411 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-27 22:31:11 +00:00
Dion Hulse
e353179ce5 Bootstrap: Revert [38399] as it's broken /build/ and subsequently core.svn.wordpress.org.
The generated classmaps reference `/src/` files and operates in the assumption that the base directory is one level above `wp-settings.php`, which it isn't after our build processes are run.

See #36335


git-svn-id: https://develop.svn.wordpress.org/trunk@38402 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-27 14:36:42 +00:00
Scott Taylor
388690382c Bootstrap: Autoload classes using a Composer-generated PHP 5.2-compatible Autoloader.
* `wp-admin` and `wp-includes` are scanned for classes to autoload
* Several 3rd-party and Ryan McCue-shaped libraries are excluded when the classmap is generated, see `composer.json`: `autoload.exclude-from-classmap`
* `wp-vendor/autoload_52.php` is included at the top of `wp-settings.php` - no changes need to be made to unit tests to include the autoloader
* An avalanche of `require()` and `require_once()` calls that loaded class files have been removed from the codebase.

The following files have been added to `svn:ignore` - they are not 5.2-compatible and fail during pre-commit:
* src/wp-vendor/autoload.php
* src/wp-vendor/composer/autoload_real.php
* src/wp-vendor/composer/autoload_static.php
* src/wp-vendor/composer/ClassLoader.php

We favor these files instead:
* src/wp-vendor/autoload_52.php
* src/wp-vendor/composer/autoload_real_52.php
* src/wp-vendor/composer/ClassLoader52.php

When new PHP classes are added to the codebase, simply run `composer install` or `composer update` from the project root to update the autoloader.

The future is now.

See #36335.


git-svn-id: https://develop.svn.wordpress.org/trunk@38399 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-27 09:15:01 +00:00
Drew Jaynes
b4fca4a558 Hooks: Standardize naming of dynamic hooks to use interpolation vs concatenation.
Benefits gained in discoverability and self-documentation throughout core trump the negligible performance hit in using interpolation in hook names.

Props ramiy.
See #37748.


git-svn-id: https://develop.svn.wordpress.org/trunk@38307 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-22 18:24:48 +00:00
Drew Jaynes
5a96c219bf Docs: Standardize filter docs in the Customizer classes to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37491 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:09:59 +00:00
Drew Jaynes
c7bed4f8c6 Docs: Remove inline @see tags from function, class, and method references in inline docs.
Known functions, classes, and methods are now auto-linked in Code Reference pages following #meta1483.

Note: Hook references are still linked via inline `@see` tags due to the unlikelihood of reliably matching for known hooks based on a RegEx pattern.

See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@37342 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-02 03:59:56 +00:00
Drew Jaynes
93c7d6becd Docs: Standardize on using :: for Class::method() references in WP_Customize_Control` inline docs.
See #32246. See #meta1483.


git-svn-id: https://develop.svn.wordpress.org/trunk@37337 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-01 17:27:58 +00:00
Weston Ruter
d80ef26b48 Customize: Allow controls to be registered without any associated settings.
* Improves parity between partials and controls. A partial or control can be settingless if instantiated with `settings` param as empty array (otherwise, if null, then the partial/control ID is used). 
* Eliminate need to create dummy settings that serve no purpose except to place a control in the UI.
* Removes dummy settings for `create_new_menu` and `new_menu_name`.
* Introduces `WP_Customize_Control::$capability` and `WP_Customize_Partial::$capability`, and if set checks them in the respective `check_capabilities()` methods.
* Prevents PHP fatal error from happening when non-existing settings are provided to control: "Call to a member function `check_capabilities()` on a non-object".
* Fixes issue where nav menu items and widgets were no longer working with selective refresh because cap check was failing.

See #27355.
Fixes #35926.


git-svn-id: https://develop.svn.wordpress.org/trunk@36689 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-24 18:27:45 +00:00
Drew Jaynes
ee386bf22a Docs: Hash notate properties and defaults for the benefit of $args parameter documentation for WP_Customize_Control::__construct().
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36114 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-28 20:09:58 +00:00
Scott Taylor
b4c270030f Customize: move WP_Customize_Control subclasses to wp-includes/customize, they load in the exact same place.
See #34432.


git-svn-id: https://develop.svn.wordpress.org/trunk@35389 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-24 18:56:07 +00:00
Andrea Fercia
8774b40dc8 Customizer: Make the widgets "Reorder" and "Add a Widget" buttons... buttons.
For accessibility, UI controls should preferably be native controls. Adds
ARIA attributes and labels to improve accessibility and pair these buttons
with the ones in the Menu Customizer.

Props obenland, TomHarrigan, sanket.parmar, metodiew, afercia.

Fixes #33327.

git-svn-id: https://develop.svn.wordpress.org/trunk@35304 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-20 20:14:51 +00:00
Scott Taylor
9b27952d46 Customizer: when available, show the description when rendering the dropdown-pages Control.
Props downstairsdev, MikeHansenMe, _smartik_.
Fixes #31540.


git-svn-id: https://develop.svn.wordpress.org/trunk@35275 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-20 03:47:34 +00:00
Sergey Biryukov
ddec8a1c2b Customizer: WP_Customize_Cropped_Image_Control should extend WP_Customize_Image_Control, since Site Icon can only an image.
Props paulwilde.
Fixes #34250.

git-svn-id: https://develop.svn.wordpress.org/trunk@35018 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-10 23:24:46 +00:00
Scott Taylor
e04d0dd623 Customizer: make "Current header" clickable in the same way that "Background Image" is - will open the media modal.
Props umesh.nevase.
Fixes #33586.


git-svn-id: https://develop.svn.wordpress.org/trunk@34702 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 21:39:55 +00:00
Weston Ruter
78b73c8906 Customizer: Defer embedding widget controls to improve DOM performance and initial load time.
The Menu Customizer feature includes a performance technique whereby the controls for nav menu items are only embedded into the DOM once the containing menu section is expanded. This commit implements the same DOM deferral for widgets but goes a step further than just embedding the controls once the widget area's Customizer section is expanded: it also defers the embedding of the widget control's form until the widget is expanded, at which point the `widget-added` event also fires to allow any additional widget initialization to be done. The deferred DOM embedding can speed up initial load time by 10x or more. This DOM deferral also yields a reduction in overall memory usage in the browser process.

Includes changes to `wp_widget_control()` to facilitate separating out the widget form from the surrounding accordion container; also includes unit tests for this previously-untested function. Also included are initial QUnit tests (finally) for widgets in the Customizer.

Fixes #33901.


git-svn-id: https://develop.svn.wordpress.org/trunk@34563 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 21:01:46 +00:00
Scott Taylor
3b8c5529cb foreach is a statement, not a function.
See #33491.


git-svn-id: https://develop.svn.wordpress.org/trunk@33734 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-25 20:27:56 +00:00
Helen Hou-Sandi
0999b0182b Customizer: Rename WP_New_Menu_Customize_Control to WP_Customize_New_Menu_Control for consistency.
props DrewAPicture.
fixes #33324.


git-svn-id: https://develop.svn.wordpress.org/trunk@33602 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-10 18:06:01 +00:00
Dominik Schilling (ocean90)
8db3eeec7d Customizer: Add an aria-expanded attribute to Edit menu item toggles.
props afercia.
fixes #33129.

git-svn-id: https://develop.svn.wordpress.org/trunk@33483 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-29 09:49:55 +00:00
Dominik Schilling (ocean90)
cac1d55621 Customizer: Add missing text or labels to some nav menu UI controls.
props afercia, celloexpressions, westonruter.
fixes #32715.

git-svn-id: https://develop.svn.wordpress.org/trunk@33413 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-24 20:27:04 +00:00
Weston Ruter
9e383a560a Customizer: Introduce customize_nav_menu_available_item_types and customize_nav_menu_available_items filters.
Allows for new available menu item types/objects to be registered in addition to filtering the available items that are returned for each menu item type/object.

Props valendesigns, imath, westonruter.
See #32832.
Fixes #32708.


git-svn-id: https://develop.svn.wordpress.org/trunk@33366 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-22 20:28:03 +00:00
Konstantin Obenland
5afdbfdb01 Customizer: Add label for menu names when editing a menu.
Props celloexpressions.
Fixes #32726.



git-svn-id: https://develop.svn.wordpress.org/trunk@33346 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-21 17:01:25 +00:00
Dominik Schilling (ocean90)
810ace4a5e Customizer: Avoid duplicate IDs and remove role presentation from menu items reorder button. Follow-up to [33074].
props afercia.
fixes #32725.

git-svn-id: https://develop.svn.wordpress.org/trunk@33339 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-21 11:36:15 +00:00
Dion Hulse
534386fcaf Allow HTML/entities in the Active Theme Name in the themes.php & Customizer templates.
Props iCaleb
Fixes #33036


git-svn-id: https://develop.svn.wordpress.org/trunk@33327 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-20 01:45:08 +00:00
Weston Ruter
d755a8d7f5 Customizer: Move "Menu options" heading outside of a nav menu auto-add control's label.
Standardizes capitalization. Amends [33189].

Props valendesigns.
Fixes #32820.


git-svn-id: https://develop.svn.wordpress.org/trunk@33317 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-17 22:41:56 +00:00
Konstantin Obenland
9352eb41fb Customize: Provide a default way to save cropped images.
Allows plugins and themes to use `WP_Customize_Cropped_Image_Control` without
having to define their own way of saving the cropped image.

Props celloexpressions for initial patch.
Fixes #29211.



git-svn-id: https://develop.svn.wordpress.org/trunk@33280 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-15 19:53:23 +00:00
Drew Jaynes
19629bda41 Fix missing or inconsistent parameter descriptions for constructors in WP_Customize_Control, WP_Customize_Color_Control, WP_Customize_Media_Control, WP_Customize_Image_Control, WP_Customize_Background_Image_Control, WP_Customize_Site_Icon_Control, WP_Customizer_Header_Image_Control, and WP_Customize_Nav_Menu_Item_Control.
See #32891. See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@33216 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 20:24:29 +00:00
DrewAPicture
a4086a6432 Fix inline documentation syntax, and/or add missing @access tags for a variety of Customizer subclasses and methods added in 4.3.
See #32891.


git-svn-id: https://develop.svn.wordpress.org/trunk@33215 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 20:16:02 +00:00
Weston Ruter
4a849e7c24 Customizer: Disambiguate a menu's auto-add pages option from preceding menu location checkboxes.
Creates a separate `nav_menu_auto_add` control type following the pattern of the `nav_menu_name` control type.

Props valendesigns.
Fixes #32820.


git-svn-id: https://develop.svn.wordpress.org/trunk@33189 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 08:39:17 +00:00
Dominik Schilling (ocean90)
c9b863c636 Customizer: Merge two strings.
see #32576.

git-svn-id: https://develop.svn.wordpress.org/trunk@33164 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-11 20:04:53 +00:00
Konstantin Obenland
4f606c1bb3 Better context for autofocused elements for screen readers.
Props joedolson for initial patch.
Fixes #30706.



git-svn-id: https://develop.svn.wordpress.org/trunk@33158 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-10 22:22:32 +00:00
Konstantin Obenland
68cd0bc870 Site Icon: Add Customizer UI.
Second part of the Site Icon feature after [32994] introduced it for Settings.

Props celloexpressions.
See #16434.



git-svn-id: https://develop.svn.wordpress.org/trunk@33154 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-10 21:32:23 +00:00
Sergey Biryukov
345521666e Merge two class attributes in WP_Customize_Media_Control::content_template() and wp_print_media_templates().
props nicholas_io.
fixes #32896.

git-svn-id: https://develop.svn.wordpress.org/trunk@33090 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-06 14:18:03 +00:00
Dominik Schilling (ocean90)
787016376a Customizer: Improve descriptive text and focus for menu items reorder button.
props afercia.
fixes #32725.

git-svn-id: https://develop.svn.wordpress.org/trunk@33074 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-03 21:23:12 +00:00
Sergey Biryukov
5e3dcc772d Customizer: Add an aria-label attribute to the Add Items button to improve accessibility.
props afercia.
fixes #32713.

git-svn-id: https://develop.svn.wordpress.org/trunk@32981 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-28 04:27:24 +00:00
Scott Taylor
550763988b ob_get_contents() followed by ob_end_clean() can be replaced by ob_get_clean().
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32965 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-27 01:11:45 +00:00
Scott Taylor
5beca90d40 The query-attachments AJAX action immediately errors out if the user doesn't have the upload_files cap. As such, the Customizer shouldn't show buttons that launch the media modal when the user doesn't have the proper permissions to query attachments.
See #32654.


git-svn-id: https://develop.svn.wordpress.org/trunk@32913 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-23 18:19:43 +00:00
Dominik Schilling (ocean90)
799bc5ce79 Customizer: Fix live preview for menu item titles.
Show also a default label for menu items without a label which are assigned to a menu. This is currently only supported in the Customizer, see #24146 for nav menus screen.

see #32576.

git-svn-id: https://develop.svn.wordpress.org/trunk@32895 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-20 22:32:37 +00:00
Dominik Schilling (ocean90)
1bc98482f1 Customizer: Escape original title of menu items.
see #32576.

git-svn-id: https://develop.svn.wordpress.org/trunk@32893 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-20 19:54:47 +00:00
Dominik Schilling (ocean90)
21d76509c4 Customizer: Use valid markup for menu items.
Replace `<d(l|t)>` with `<div>` for `.menu-item-bar` and `.menu-item-handle`.

see #32724, #32721, #31817.

git-svn-id: https://develop.svn.wordpress.org/trunk@32889 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-20 18:46:16 +00:00
Dominik Schilling (ocean90)
798ea970d3 Customizer: Decode HTML entities in the label property of WP_Customize_Media_Control.
fixes #31631.

git-svn-id: https://develop.svn.wordpress.org/trunk@32885 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-20 18:15:00 +00:00
Scott Taylor
fa99a8af6e Add access modifier to WP_Customize_Nav_Menu_Item_Control::json()
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32873 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-19 21:54:37 +00:00