Commit Graph

141 Commits

Author SHA1 Message Date
Weston Ruter 90bedf8f9d Editor: Add CodeMirror-powered code editor with syntax highlighting, linting, and auto-completion.
* Code editor is integrated into the Theme/Plugin Editor, Additional CSS in Customizer, and Custom HTML widget. Code editor is not yet integrated into the post editor, and it may not be until accessibility concerns are addressed.
* The CodeMirror component in the Custom HTML widget is integrated in a similar way to TinyMCE being integrated into the Text widget, adopting the same approach for integrating dynamic JavaScript-initialized fields.
* Linting is performed for JS, CSS, HTML, and JSON via JSHint, CSSLint, HTMLHint, and JSONLint respectively. Linting is not yet supported for PHP.
* When user lacks `unfiltered_html` the capability, the Custom HTML widget will report any Kses-invalid elements and attributes as errors via a custom Kses rule for HTMLHint.
* When linting errors are detected, the user will be prevented from saving the code until the errors are fixed, reducing instances of broken websites.
* The placeholder value is removed from Custom CSS in favor of a fleshed-out section description which now auto-expands when the CSS field is empty. See #39892.
* The CodeMirror library is included as `wp.CodeMirror` to prevent conflicts with any existing `CodeMirror` global.
* An `wp.codeEditor.initialize()` API in JS is provided to convert a `textarea` into CodeMirror, with a `wp_enqueue_code_editor()` function in PHP to manage enqueueing the assets and settings needed to edit a given type of code.
* A user preference is added to manage whether or not "syntax highlighting" is enabled. The feature is opt-out, being enabled by default.
* Allowed file extensions in the theme and plugin editors have been updated to include formats which CodeMirror has modes for: `conf`, `css`, `diff`, `patch`, `html`, `htm`, `http`, `js`, `json`, `jsx`, `less`, `md`, `php`, `phtml`, `php3`, `php4`, `php5`, `php7`, `phps`, `scss`, `sass`, `sh`, `bash`, `sql`, `svg`, `xml`, `yml`, `yaml`, `txt`.

Props westonruter, georgestephanis, obenland, melchoyce, pixolin, mizejewski, michelleweber, afercia, grahamarmfield, samikeijonen, rianrietveld, iseulde.
See #38707.
Fixes #12423, #39892.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41209 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-13 06:08:47 +00:00
Weston Ruter 84d2c51153 Widgets: Add shortcode support inside Text widgets.
* Used now in core to facilitate displaying inserted media. See #40854.
* The `[embed]` shortcode is not supported because there is no post context for caching oEmbed responses. This depends on #34115.
* Add `do_shortcode()` to the `widget_text_content` filter in the same way it is added for `the_content` at priority 11, with `shortcode_unautop()` called at priority 10 after `wpautop()`.
* For Text widget in legacy mode, manually apply `do_shortcode()` (and `shortcode_unautop()` if auto-paragraph checked) if the core-added `widget_text_content` filter remains, unless a plugin added `do_shortcode()` to `widget_text` to prevent applying shortcodes twice.
* Ensure that global `$post` is `null` while filters apply in the Text widget so shortcode handlers won't run with unexpected contexts.

Props westonruter, nacin, aaroncampbell.
See #40854, #34115.
Fixes #10457.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41194 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-10 06:33:44 +00:00
Weston Ruter 667f377cd0 Widgets: Prevent visual Text widget from decoding encoded HTML.
Also apply `the_editor_content` filters on widget `text` with `format_for_editor()` as is done for the post editor.

Amends [40631].
Props westonruter, azaozz.
See #35243.
Fixes #41596.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41100 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-17 23:37:43 +00:00
Weston Ruter 75ad3494a8 Widgets: Expose link URL input field in Image widget to avoid having to open media modal to discover.
Props timmydcrawford, westonruter.
See #39993.
Fixes #41274.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-14 17:56:42 +00:00
Weston Ruter ae47e05f74 Widgets: Suppress PHP warnings raised by `DOMDocument::loadHTML()` in `WP_Widget_Text::is_legacy_instance()` which could appear in Text widget forms.
Also explicitly use HTML5 doctype when parsing Text widget contents in legacy mode detection.

Amends [41050].
See #40951.
Fixes #41622.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41091 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-14 05:59:42 +00:00
Weston Ruter 9c3cdaf3fb Widgets: Fix extensibility of Text widgets so that JS logic will initialize on subclassed widgets.
Amends [40631].
See #35243.
Fixes #41540.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41085 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-13 05:25:46 +00:00
Weston Ruter 7af3b92736 Media: Upgrade MediaElement.js from 2.22.0 to 4.2.3.
Props rafa8626, grosbouff, westonruter, azaozz, Plastikschnitzer for testing.
See #39686.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41038 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-01 04:43:51 +00:00
Sergey Biryukov 2b1644b974 Docs: Add a `@staticvar` entry for `$first_dropdown` in `WP_Widget_Categories::widget()`.
Props ajayghaghretiya1.
Fixes #41473.
Built from https://develop.svn.wordpress.org/trunk@41181


git-svn-id: http://core.svn.wordpress.org/trunk@41021 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-28 14:25:42 +00:00
Drew Jaynes 0860bb2771 Docs: Remove `@access` notations from method DocBlocks in wp-includes/* classes.
Prior to about 2013, many class methods lacked even access modifiers which made the `@access` notations that much more useful. Now that we've gotten to a point where the codebase is more mature from a maintenance perspective and we can finally remove these notations. Notable exceptions to this change include standalone functions notated as private as well as some classes still considered to represent "private" APIs.

See #41452.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-27 00:41:44 +00:00
Andrea Fercia de31d6f81c Widgets: make the Recent Posts widget output '(no title)' for posts without a title.
Since WordPress 2.3, the Recent Posts widget used to output the post ID for posts
with an empty title. Using '(no title)' seems a best option and is consistent with
what's already used in other similar cases.

Props antonrinas, Ankit K Gupta.
Fixes #35709.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40989 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-25 16:13:45 +00:00
Weston Ruter 4886abf23e Widgets: Improve notice in Text widget's legacy mode.
Also fixes phpunit test which broke in [41132].

Props melchoyce, westonruter, gk.loveweb.
See #41394, #35243, #40951, #40907.
Fixes #41386.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40974 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-24 23:11:43 +00:00
Weston Ruter ddca4ceff1 Widgets: Rename Text widget's `legacy` mode to non-`visual` mode, restore boolean `filter` prop, and improve compatibility for `widget_text` filters applied in Custom HTML widget.
Props westonruter, obenland, timmydcrawford for testing.
Amends [41050].
See #35243, #40951, #40907.
Fixes #41394.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40972 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-24 22:46:42 +00:00
Weston Ruter f283e9d81f Widgets: Include `widget_text` class name on Custom HTML widget wrapper for theme styling compatibility, in addition to previously-added `textwidget` class on nested content container.
Amends [40893], [41115].
See #40907.
Fixes #41392 for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40956 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-21 21:02:43 +00:00
Weston Ruter 048ac7df67 Widgets: Improve theme styling compatibility for Custom HTML widget by adding container with `textwidget` class.
The same styling from the Text widget should apply to the Custom HTML widget since users are expected to copy HTML from the (legacy) Text widget into the latter.

Amends [40893].
See #40907.
Fixes #41392.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40955 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-21 18:13:45 +00:00
Weston Ruter 1a005d853f Widgets: Replace adding `balanceTags` on `widget_custom_html_content` filter in favor of just applying `widget_text` filters in the Custom HTML widget.
Ensures that users who copy HTML from the Text widget in legacy mode over to the Custom HTML widget will continue to get all of the same filters applied, including tag balancing and shortcodes, if a plugin added support. Plugins still have the `widget_text_content` and `widget_custom_html_content` filters they can use to target the specific widget types.

Amends [40893].
See #40951.
Fixes #40907 for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40926 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-18 22:11:44 +00:00
Weston Ruter 770fb1b35c Widgets: Discount shortcodes and leading/trailing line breaks for triggering Text widget legacy mode.
Since plugin-added shortcode handling is just-in-time deferred to run after `wpautop`, there is no need to retain the presence of shortcodes to trigger legacy mode. Also updates Text widget legacy mode notice informing of Custom HTML widget.

Amends [41050].
Props westonruter, melchoyce.
Fixes #40951 for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-18 04:17:43 +00:00
Weston Ruter 8db1f562e6 Widgets: Add legacy mode for Text widget and add usage pointers to default visual mode.
The Text widget in legacy mode omits TinyMCE and retains old behavior for matching pre-existing Text widgets. Usage pointers added to default visual mode appear when attempting to paste HTML code into the Visual tab and when clicking on the Text tab, informing users of the new Custom HTML widget.

Props westonruter, melchoyce, gitlost for testing, obenland for testing, dougal for testing, afercia for testing.
See #35243.
Fixes #40951.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40900 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-14 17:09:43 +00:00
Weston Ruter 37cbe7add1 Widgets: Enqueue assets needed by media and text widgets in their `_register_one()` methods.
The `WP_Widget::_register_one()` method is more guaranteed to be called as opposed to its wrapper `WP_Widget::_register()` which plugins may bypass for performance reasons.

Amends [40631], [40640].
See #35243, #32417.
Fixes #41021.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40878 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-11 22:47:43 +00:00
Weston Ruter 046fb8a987 Widgets: Let Custom HTML widget be "wide" as the Text widget is.
Also update `WP_Customize_Widgets::$core_widget_id_bases` with the new list of core widgets.

Props obenland, westonruter.
See #40907, #40951.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40850 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-04 21:01:41 +00:00
Weston Ruter a46d94efeb Widgets: Rename "HTML Code" widget to "Custom HTML" widget.
Correspondingly renames files, ID base from `html_code` to `custom_html`, and the filter from `widget_html_code_content` to `widget_custom_html_content`.

See #40907.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40776 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-06-24 00:00:45 +00:00
Weston Ruter 38db73cff8 Widgets: Add widget dedicated for HTML Code, taking over this role of the Text widget.
Props westonruter, timmydcrawford.
See #40951, #35243.
Fixes #40907.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40743 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-06-09 23:54:42 +00:00
Weston Ruter 011d33e95b Media: Restrict appending `loop` parameter to Vimeo URLs specifically and not all external URLs in Video widget (via shortcode).
Fixes issue where Video widgets embedding external files fail to get recognized due to the presence of the `loop` param after the video filename, even though it has a recognized extension. Regardless, the `loop` param is only present to fix a Vimeo issue in ME.js 2.x.

Props timmydcrawford.
Amends [40640].
See #39686, #39994.
Fixes #40977.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40742 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-06-09 19:29:43 +00:00
Konstantin Obenland 71cd7287ba Default themes: Improve styles for 4.8 widgets
Mostly adds styles for lists and mediaelement.js instances within widgets.
Adds size classname to image widget so themes can customize their display.

Props Soean, obenland, celloexpressions, ocean90, karmatosed.
Fixes #40745.


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


git-svn-id: http://core.svn.wordpress.org/trunk@40690 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-25 15:19:42 +00:00
Weston Ruter 8307924de6 Widgets: Supply missing descriptions for instance schema fields in media widgets.
Reuse translated strings from media templates.

Amends [40640].
See #32417.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40686 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-25 02:59:44 +00:00
Andrea Fercia bdad500af7 Widgets: Remove the title attributes used in the Tag cloud widget.
- improves accessibility using an aria-label attribute to match the information conveyed visually with the one exposed to assistive technologies
- adds an option in the widget to display the item counts, consistently with what other widgets already do (Archives, Categories)

Props adamsoucie, emirpprime, Samantha Miller., MikeLittle, rianrietveld, sami.keijonen, adamsilverstein, westonruter, afercia.
See #24766.
Fixes #35566.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40674 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-22 20:24:41 +00:00
Andrea Fercia b5eeb88286 Widgets: clarify some context information for translators.
Props Italian polyglots team.
Amends [40640].
See #32417, #39993, #39994, #39995.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40670 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-21 20:44:45 +00:00
Weston Ruter 123158e7d8 Widgets: Revert [40251] pending more accessible solution for showing default widget titles rather than using placeholders.
See #39909.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40664 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-19 20:45:40 +00:00
Weston Ruter 698c6de4da Widgets: Use "Add Audio" for button in Audio widget instead of generic "Add File".
Props juhise.
See #39995.
Fixes #40797.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40642 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-18 18:34:42 +00:00
Weston Ruter 7f008a21de Widgets: Add missing `wp-editor-area` CSS class for `textarea` in the TinyMCE-extended Text widget to ensure proper styles are applied.
Removes extra border around TinyMCE-wrapped `textarea` and removes gap at bottom due to lack of `display:block`.

Props johnjamesjacoby, westonruter.
See #35243.
Fixes #40755.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40538 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-16 00:11:41 +00:00
Weston Ruter 97e376ca39 Widgets: Ensure return value of `widget_text` filter is not dropped but passed into `widget_text_content` filter for rendering.
Amends [40631].
Props vijustin, swissspidy, westonruter.
See #35243.
Fixes #40772.


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


git-svn-id: http://core.svn.wordpress.org/trunk@40536 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-15 22:36:41 +00:00
Weston Ruter 31d4d81039 Widgets: Introduce media widgets for images, audio, and video with extensible base for additional media widgets in the future.
The last time a new widget was introduced, Vuvuzelas were a thing, Angry Birds started taking over phones, and WordPress stopped shipping with Kubrick. Seven years and 17 releases without new widgets have been enough, time to spice up your sidebar!

Props westonruter, melchoyce, obenland, timmydcrawford, adamsilverstein, gonom9, wonderboymusic, Fab1en, DrewAPicture, sirbrillig, joen, matias, samikeijonen, afercia, celloexpressions, designsimply, michelleweber, ranh, kjellr, karmatosed.
Fixes #32417, #39993, #39994, #39995.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40501 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-11 21:11:44 +00:00
Weston Ruter 40ebb188cd Widgets: Extend the Text widget with TinyMCE.
Introduces rich text formatting: bold, italic, lists, links.

Props westonruter, azaozz, timmydcrawford, obenland, melchoyce.
See #35760.
Fixes #35243.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40492 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-11 18:55:43 +00:00
Weston Ruter d7cb2f7706 Customize: Show title input placeholders for widgets that have default titles when rendered.
Fixes #39909.
Props bor0, dlh, westonruter.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40173 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-08 18:25:44 +00:00
Drew Jaynes 3a02481d9e Docs: Fix an incorrect pseudo-parameter referenced in the hook doc for the `widget_tag_cloud_args` filter.
Props backermann.
Fixes #37654.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38995 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-31 06:40:49 +00:00
John Blackbourn 94c8ca0f2e Docs: Correct various documentation around `object` and `stdClass` types.
See #37770

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


git-svn-id: http://core.svn.wordpress.org/trunk@38310 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 16:49:45 +00:00
Sergey Biryukov 139387b7e5 Docs: Use 3-digit, x.x.x-style semantic versioning for `_doing_it_wrong()`, `_deprecated_function()`, `_deprecated_argument()`, and `_deprecated_file()` throughout core.
Props metodiew.
Fixes #36495.
Built from https://develop.svn.wordpress.org/trunk@37985


git-svn-id: http://core.svn.wordpress.org/trunk@37926 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-06 12:40:29 +00:00
Drew Jaynes 6b8248f3f7 Docs: Standardize hook docs in wp-includes/widgets/* to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37457 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 18:06:28 +00:00
Weston Ruter dcf6cf3615 Customize: Include shortcut button in Custom Menu widget to edit the selected menu in the Customizer.
Clicking on the Edit Menu button focuses on the corresponding nav menu section. Upon collapsing the nav menu section, the focus is returned to the Custom Menu widget instead of taking the user to the menus root panel. In this way, the back button behavior is modified once to serve as breadcrumb/history navigation. The Edit Menu button with the breadcrumb back button behavior greatly reduce the number of UI interactions needed to edit a menu referenced in a Custom Menu widget.

Props celloexpressions, westonruter.
Fixes #32683.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37403 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-16 07:22:30 +00:00
Weston Ruter f3f84d2f21 Customize: Require opt-in for selective refresh of widgets.
* Introduces `customize-selective-refresh-widgets` theme support feature and adds to themes.
* Introduces `customize_selective_refresh` arg for `WP_Widget::$widget_options` and adds to all core widgets.
* Remove `selective_refresh` from being a component that can be removed via `customize_loaded_components` filter.
* Add `WP_Customize_Widgets::get_selective_refreshable_widgets()` and `WP_Customize_Widgets::is_widget_selective_refreshable()`.
* Fix default `selector` for `Partial` instances.
* Implement and improve Masronry sidebar refresh logic in Twenty Thirteen and Twenty Fourteen, including preservation of initial widget position after refresh.
* Re-initialize ME.js when refreshing `Twenty_Fourteen_Ephemera_Widget`.

See #27355.
Fixes #35855.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37007 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-21 21:59:29 +00:00
Weston Ruter aa9ef96a52 Customize: Prevent dropping backslashes from input on general settings and settings for nav menus and some widgets.
Ensures that intentional backslashes (e.g. "\o/") can be used in:

* Site title
* Site description
* Nav menu name
* Custom Menu widget title
* Tag Cloud widget title
* Text widget body if can't `unfiltered_html`

The latter three are also fixed on the widgets admin page.

Fixes #35898.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36589 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-23 01:02:26 +00:00
Sergey Biryukov 20d779ea8c Widgets: Remove extra quotes from widget title in `WP_Widget_RSS`, accidentally added in [33814].
Props ShinichiN.
Fixes #34978 for trunk.
Built from https://develop.svn.wordpress.org/trunk@35978


git-svn-id: http://core.svn.wordpress.org/trunk@35943 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-16 22:35:27 +00:00
Dominik Schilling 5e0dac0f8f Widgets: Fix typo in `WP_Widget_Tag_Cloud::form()`.
Props skithund.
Fixes #34623.
Built from https://develop.svn.wordpress.org/trunk@35576


git-svn-id: http://core.svn.wordpress.org/trunk@35540 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-08 20:35:27 +00:00
Scott Taylor c5b6202dfa Widgets: revert [34376] and [34386] as pertains to the Categories widget supporting custom taxonomies.
Punting on 4th down.

See #21165.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35244 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-20 04:57:25 +00:00
Scott Taylor f77499ed22 RSS Widget: add a class, `rss-widget-icon`, to the RSS icon to allow devs to hide it. Not going to remove to not break visual BC.
Fixes #22010.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34647 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-29 04:32:25 +00:00
Drew Jaynes 14c9ea88ea Widgets: Pass `$instance` to the `widget_nav_menu_args` filter in the Custom Menu widget.
Props walterbarcelos for the initial patch.
Fixes #33944.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34626 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-28 15:31:25 +00:00
Drew Jaynes c3a83b5726 Restore and deprecate the `WP_Widget_Recent_Comments::flush_widget_cache()` method, removed in [34580].
Fixes #25556.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34586 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 01:40:26 +00:00
Drew Jaynes ad089ffe15 Docs: Improve documentation for the `__construct()`, `widget()`, `update()`, and `form()` methods in `WP_Nav_Menu_Widget`.
Props leemon.
Fixes #34015. Fixes #34013.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34585 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 01:16:24 +00:00
Drew Jaynes c1796c55c3 Docs: Improve documentation for the `__construct()`, `widget()`, `update()`, and `form()` methods in `WP_Widget_Archives`.
Props leemon.
Fixes #34016. See #34013.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34584 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 01:11:25 +00:00
Drew Jaynes a05eb043c3 Docs: Improve documentation for the `__construct()`, `widget()`, `update()`, and `form()` methods in `WP_Widget_Calendar`.
Props leemon.
Fixes #34017. See #34013.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34583 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 01:07:25 +00:00
Drew Jaynes e0d024b355 Docs: Improve documentation for the `__construct()`, `widget()`, `update()`, `form()`, and `_get_current_taxonomy()` methods in `WP_Widget_Categories`.
Props leemon.
Fixes #34018. See #34013.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34582 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 01:04:25 +00:00
Drew Jaynes 192e7f8c61 Docs: Improve documentation for the `__construct()`, `widget()`, `update()`, and `form()` methods in `WP_Widget_Links`.
Props leemon.
Fixes #34019. See #34013.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34581 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 01:00:24 +00:00
Drew Jaynes 233ecbfdb8 Docs: Improve documentation for the `__construct()`, `widget()`, `update()`, and `form()` methods in `WP_Widget_Meta`.
Props leemon.
Fixes #34020. See #34013.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34580 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 00:58:24 +00:00
Drew Jaynes 033c9b8d7f Docs: Improve documentation for the `__construct()`, `widget()`, `update()`, and `form()` methods in `WP_Widget_Pages`.
Props leemon.
Fixes #34021. See #34013.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34579 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 00:54:24 +00:00
Drew Jaynes 5ab3821730 Docs: Improve documentation for the `__construct()`, `recent_comments_style()`, `widget()`, `update()`, and `form()` methods in `WP_Widget_Recent_Comments`.
Also fixes a typo in the class DocBlock.

Props leemon.
Fixes #34022. See #34013.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34578 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 00:51:24 +00:00
Drew Jaynes e76083ce6e Docs: Improve documentation for the `__construct()`, `widget()`, `update()`, and `form()` methods in `WP_Widget_Recent_Posts`.
Also fixes a typo in the class DocBlock.

Props leemon.
Fixes #34023. See #34013.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34577 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 00:46:25 +00:00
Drew Jaynes 4f8f817865 Docs: Improve documentation for the `__construct()`, `widget()`, `update()`, and `form()` methods in `WP_Widget_RSS`.
Props leemon.
Fixes #34024. See #34013.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34576 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 00:42:24 +00:00
Drew Jaynes 80a32b4bc8 Docs: Improve documentation for the `__construct()`, `widget()`, `update()`, and `form()` methods in `WP_Widget_Search`.
Props leemon.
Fixes #34025. See #34013.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34575 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 00:37:24 +00:00
Drew Jaynes 08277293e5 Docs: Improve the documentation for the `__construct()`, `widget()`, `update()`, and `form()` methods in `WP_Widget_Tag_Cloud`.
Props leemon.
Fixes #34026. See #34013.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34574 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 00:32:24 +00:00
Drew Jaynes 83da7624e6 Docs: Improve documentation for the `__construct()`, `widget()`, `update()`, and `form()` methods in `WP_Widget_Text`.
(first!) Props leemon.
Fixes #34027.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34573 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 00:27:26 +00:00
Scott Taylor 8646c8b93c Recent Comments Widget: a la [34464], this widget has the same mixed content issues. Remove the fragment caching. The comment queries are now split to scale. This was the only remaining widget with an HTML fragment cache.
Fixes #25556.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34545 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-26 06:01:26 +00:00
John Blackbourn aa35e473f7 `callback` is not a valid type in PHP, PSR-5, or phpDocumentor. `callable` should be used instead.
Fixes #34032

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


git-svn-id: http://core.svn.wordpress.org/trunk@34530 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 23:58:25 +00:00
Drew Jaynes 6f81ec0a2a Docs: Add a missing summary, version, and tag descriptions to the DocBlock for `WP_Widget_Text::widget()`.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34517 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 19:24:24 +00:00
Drew Jaynes 54d5888688 Widgets: Pass `$this` to the `widget_text` filter to make targeting specific widget instances easier.
Also fixes docs errors in the type and description for the `$instance` parameter, introduced in [27697].

Fixes #24605.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34516 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 19:21:24 +00:00
Scott Taylor bf04b211a4 Widgets: use `input[type="number"]` for the `number` prop in the Recent Posts and Recent Comments widget forms.
Props helen, obenland, mordauk.
Fixes #22965.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34478 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 19:53:26 +00:00
Scott Taylor ad2ddad259 Recent Posts Widget: remove HTML fragment caching. The cache currently doesn't work cross-scheme and causes mixed content issues for links. The widget was written pre-`$split_the_query`, after which post objects can be served from the cache.
Fixes #27565.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34428 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 00:17:24 +00:00
Drew Jaynes 07cb271a45 Docs: Add a file header to wp-includes/widgets/class-wp-widget-text.php, introduced in [33746].
Also clarifies the class DocBlock summary and tags for `WP_Widget_Text`.

See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34404 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 15:04:26 +00:00
Drew Jaynes 12196adb29 Docs: Add a file header to wp-includes/widgets/class-wp-widget-tag-cloud.php, introduced in [33746].
Also clarifies the class DocBlock summary and tags for `WP_Widget_Tag_Cloud`.

See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34403 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 15:02:26 +00:00
Drew Jaynes 32118a94e5 Docs: Add a file header to wp-includes/widgets/class-wp-widget-search.php, introduced in [33746].
Also clarifies the class DocBlock summary and tags for `WP_Widget_Search`.

See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34402 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 15:01:25 +00:00
Drew Jaynes 5cd5252964 Docs: Add a file header to wp-includes/widgets/class-wp-widget-rss.php, introduced in [33746].
Also clarifies the class DocBlock summary and tags for `WP_Widget_RSS`.

See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34401 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:57:26 +00:00
Drew Jaynes 0608fc8dea Docs: Add a file header to wp-includes/widgets/class-wp-widget-recent-posts.php, introduced in [33746].
Also clarifies the class DocBlock summary and tags for `WP_Widget_Recent_Posts`.

See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34400 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:54:25 +00:00
Drew Jaynes c9ae3bf3e3 Docs: Add a file header to wp-includes/widgets/class-wp-widget-recent-comments.php, introduced in [33746].
Also clarifies the class DocBlock summary and tags for `WP_Widget_Recent_Comments`.

See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34399 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:51:25 +00:00
Drew Jaynes 111144e3fe Docs: Add a file header to wp-includes/widgets/class-wp-widget-pages.php, introduced in [33746].
Also clarifies the class DocBlock summary and tags for `WP_Widget_Pages`.

See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34398 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:49:24 +00:00
Drew Jaynes 42c2543175 Docs: Add a file header to wp-includes/widgets/class-wp-widget-meta.php, introduced in [33746].
Also clarifies the class DocBlock summary and tags for `WP_Widget_Meta`.

See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34397 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:48:24 +00:00
Drew Jaynes 305ac5d661 Docs: Add a file header to wp-includes/widgets/class-wp-widget-links.php, introduced in [33746].
Also clarifies the class DocBlock summary and tags for `WP_Widget_Links`.

See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34396 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:47:25 +00:00
Drew Jaynes d259fba59f Docs: Clarify the class DocBlock summary for `WP_Widget_Categories`.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34395 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:45:25 +00:00
Drew Jaynes 06ab88c2e0 Docs: Add a file header to wp-includes/widgets/class-wp-widget-calendar.php, introduced in [33746].
Also clarifies the class DocBlock summary and tags for `WP_Widget_Calendar`.

See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34394 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:44:24 +00:00
Drew Jaynes 02084878f0 Docs: Add a missing file header to wp-includes/widgets/class-wp-widget-archives.php, introduced in [33746].
Also clarifies the class DocBlock summary and tags for `WP_Widget_Archives`.

See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34393 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:43:24 +00:00
Drew Jaynes c829d1a9b0 Docs: Clarify the file header summary for wp-includes/widgets/class-wp-nav-menu-widget.php, introduced in [33746].
Also clarifies the class DocBlock summary and tags for `WP_Nav_Menu_Widget`.

See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34392 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:41:25 +00:00
Drew Jaynes a88e3e9a1d Docs: Add a changelog entry to `WP_Widget_Categories` for non-category support, added in [34376].
See #21165. See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34350 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 09:50:25 +00:00
Drew Jaynes 89a1bb93e4 Docs: Add a file header to wp-includes/widgets/class-wp-widget-categories.php.
See #33413.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34349 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 09:48:25 +00:00
Scott Taylor 51115a6816 Widgets: add a `static` property to `WP_Widget_Calendar` to ensure that the `id` attribute is only output once.
Props MikeHansenMe, wonderboymusic.
Fixes #24604.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34345 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 05:09:24 +00:00
Scott Taylor 40c15af795 Widgets: Make the categories widget work with custom taxonomies.
Props fonglh, wonderboymusic, DrewAPicture, kucrut.
Fixes #21165.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34340 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 04:25:24 +00:00
Scott Taylor a2f15ca7cd Widgets: don't show a dropdown if there is only 1 taxonomy or zero taxonomies available to the Tag Cloud widget form. Don't output the widget if there are no terms in the selected taxonomy.
Props GautamGupta, wonderboymusic.
Fixes #16125.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34237 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-17 22:11:24 +00:00
Scott Taylor db4f22bfb5 After [33961], pass `$comment` to `get_comment_link()` where possible to avoid extra cache/db lookups.
See #33638.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34010 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-11 06:21:25 +00:00
Scott Taylor fc328f5484 After [33961], pass `$comment` to `get_comment_author_link()` where possible to avoid extra cache/db lookups.
See #33638.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34007 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-11 06:05:24 +00:00
Drew Jaynes f5c8f20a69 Docs: Use the `$widget_links_args` parameter in the hook doc for the `widget_links_args` filter, introduced when the args array was split out to a variable in [33971].
See #20788.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33947 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-09 15:45:27 +00:00
Scott Taylor 4bdda75696 `WP_Widget_Links`: pass widget instance to `widget_links_args` filter
Props SergeyBiryukov, MikeHansenMe, DrewAPicture.
Fixes #20788.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33940 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-09 04:42:24 +00:00
Scott Taylor c1bb5b5ce3 After [33843], update the location of some files in `This filter is documented in` docs
Props dimadin.
See #33413.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33923 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-08 22:17:26 +00:00
Scott Taylor 0c97b3625e After [33814], `checked()` outputs a leading space, so some extra spaces can be removed in the HTML for default widget forms.
See #23012.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33920 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-08 19:23:24 +00:00
Scott Taylor 9f8816c939 De-Jorbin [33814].
See #23012.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33813 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-01 15:48:22 +00:00
Scott Taylor 9b8169bd30 Move widget classes to their own files in `wp-includes/widgets`:
* `default-widgets.php` now requires all of the individual classes
* Move the functions scattered about this file to `widget-functions.php`, which loads before `default-widgets.php`, which only conditionally loads anyway in `wp_maybe_load_widgets()`, which is hooked on `plugins_loaded` 

See #33413, #23012.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33811 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-01 13:49:21 +00:00