Commit Graph

52 Commits

Author SHA1 Message Date
Weston Ruter
666912edf9 Widgets: Introduce Gallery widget for displaying image galleries.
* Galleries are managed in the widget in the same way they are managed in the post editor, both using the media manager.
* Gallery widget is merged from the Core Media Widgets v0.2.0 feature plugin and it extends `WP_Widget_Media` in the same way as is done for image, audio, and video widgets.
* Model syncing logic is updated to support booleans and arrays (of integers).
* Placeholder areas in media widgets are now clickable shortcuts for selecting media.
* Image widget placeholder is updated to match gallery widget where clicking preview is shortcut for editing media.

Props westonruter, joemcgill, timmydcrawford, m1tk00, obenland, melchoyce.
See #32417.
Fixes #41914.


git-svn-id: https://develop.svn.wordpress.org/trunk@41590 602fd350-edb4-49c9-b593-d223f7449a82
2017-09-25 06:27:32 +00:00
Sergey Biryukov
fc26b6e006 Widgets: Remove a duplicate require_once() for class-wp-widget-meta.php added in [40640].
Props thingsym.
Fixes #41723.

git-svn-id: https://develop.svn.wordpress.org/trunk@41312 602fd350-edb4-49c9-b593-d223f7449a82
2017-08-24 17:51:26 +00:00
Weston Ruter
d29e68fbda 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@40926 602fd350-edb4-49c9-b593-d223f7449a82
2017-06-23 23:59:23 +00:00
Weston Ruter
5b7fb84f03 Widgets: Add widget dedicated for HTML Code, taking over this role of the Text widget.
Props westonruter, timmydcrawford.
See #40951, #35243.
Fixes #40907.


git-svn-id: https://develop.svn.wordpress.org/trunk@40893 602fd350-edb4-49c9-b593-d223f7449a82
2017-06-09 23:53:27 +00:00
Weston Ruter
da32c2f630 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@40640 602fd350-edb4-49c9-b593-d223f7449a82
2017-05-11 21:10:54 +00:00
Drew Jaynes
c7dddad085 Docs: Clarify the file header summary for wp-includes/default-widgets.php, the top-level file for bringing in the core widget classes.
Also adds inline DocBlocks for the widget classes now brought in via `require_once()` as of [33843].

See #33413. See #33701.


git-svn-id: https://develop.svn.wordpress.org/trunk@34408 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-22 13:35:41 +00:00
Scott Taylor
1e084b6eaa 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@33843 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-01 13:49:00 +00:00
Weston Ruter
57a7ed15a7 Customizer: Collapse any expanded panel/sections before expanding other panel/sections
Fix removes need for workaround introduced in [33488] for direct link from nav menu widget to the customizer widgets panel. The todo is now implemented.

Props celloexpressions, westonruter.
Fixes #33396 for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@33837 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-31 23:07:57 +00:00
Scott Taylor
49923580bd WP_Widget_Pages::widget() has no reason to set $comment and $comments globals.
See #11566. 


git-svn-id: https://develop.svn.wordpress.org/trunk@33824 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-31 20:30:32 +00:00
Scott Taylor
e3a3ba4caa Improve/update escaping in default widgets:
* wrap some variables in `esc_attr()` before echoing
* replace some `strip_tags()` calls with `sanitize_text_field()`
* call `esc_url()` when wrapping some URLs

Props welcher.
See #23012.


git-svn-id: https://develop.svn.wordpress.org/trunk@33814 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-30 05:37:53 +00:00
Scott Taylor
5d91ddf4e1 Improve/update escaping in WP_Widget_Pages.
Props welcher.
See #23012.


git-svn-id: https://develop.svn.wordpress.org/trunk@33813 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-30 04:47:00 +00:00
Weston Ruter
dbcb95c022 Customizer: Ensure that all existing menus are shown in the Custom Menu widget's dropdown.
* Ensure that a Custom Menu widget selecting a newly-inserted menu gets updated to use the new menu ID upon Save & Publish.
* Dynamically update the visibility of the Custom Menu widget's "no menus" message when the number of menus changes between 0 and 1+.
* Send all dirty Customized settings in `update-widget` Ajax request and `preview()` them so that the widget update/form callbacks have access to any data dependencies in the current Customizer session (such as newly created unsaved menus).
* Update link in Custom Menu widget to point to Menus panel as opposed to Menus admin page, when in the Customizer.
* Fix an issue with extra space at top immediately after creating new menu.
* Fix doubled `update-widget` Ajax requests when changing select dropdown; prevent initial from being aborted.
* Add missing `wp_get_nav_menus()` hooks to preview Customizer updates/inserts for `nav_menu` settings; includes tests.
* Update `wp_get_nav_menu_object()` to allow a menu object to be passed in (and thus passed through).

Props westonruter, adamsilverstein.
Fixes #32814.


git-svn-id: https://develop.svn.wordpress.org/trunk@33488 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-29 16:02:08 +00:00
Scott Taylor
f039546371 Add a label to the content field in the Text Widget for screen readers.
Props afercia.
Fixes #32736.


git-svn-id: https://develop.svn.wordpress.org/trunk@32907 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-22 21:21:02 +00:00
Scott Taylor
ef6315a7a2 After [32656], add @access annotations to methods that have no doc block in wp-includes/*.
Makes it easier to search for no doc blocks via `}[\n\t\r ]+(protected|private|public)`.

See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32657 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-29 21:36:38 +00:00
Scott Taylor
c8a44d437a Add @static* annotations where they are missing.
Initialize all static vars that are not, most to `null`.

See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32650 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-29 15:42:40 +00:00
Scott Taylor
bd06ad2725 get_comments() can return int, so a few places need to check if the return value is traversable before passing what is assumed to be an array.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32600 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-25 17:58:52 +00:00
Scott Taylor
09d6c51801 Add missing doc blocks to default-widgets.php.
Move `add_action()` for widgets to `default-filters.php` with its brethren.

See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32589 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-24 21:27:12 +00:00
Dominik Schilling (ocean90)
de328f1a88 Text Widget: Use !empty() for checking if the filter setting is set.
props westonruter.
fixes #31690.

git-svn-id: https://develop.svn.wordpress.org/trunk@31886 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-25 17:33:49 +00:00
Sergey Biryukov
569a47075e Add missing labels to Archives and Categories dropdown widgets.
props joedolson, jlevandowski, DrewAPicture, SergeyBiryukov.
fixes #18650.

git-svn-id: https://develop.svn.wordpress.org/trunk@31520 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-23 16:31:31 +00:00
Sergey Biryukov
4aada86274 Add 'widget_nav_menu_args' filter for Custom Menu widget arguments.
props cyman, DrewAPicture.
fixes #29463.

git-svn-id: https://develop.svn.wordpress.org/trunk@31325 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-03 02:55:21 +00:00
Sergey Biryukov
352be0b432 Display correct title in Archives widget if the type of archive was changed using the 'widget_archives_dropdown_args' filter.
props floriansimeth for initial patch.
fixes #31024.

git-svn-id: https://develop.svn.wordpress.org/trunk@31241 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-19 08:25:36 +00:00
Scott Taylor
218dd4fd6b For clarity, initialize some arrays that previously were only assigned via short circuit in loops.
See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@30982 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-20 22:46:53 +00:00
Drew Jaynes (DrewAPicture)
136b853399 Cross-reference WP_Comment_Query::query() as the location for finding information on default arguments for WP_Comment_Query.
Also updates the return types on `get_comments()` and `get_approved_comments()`, as an integer can also be returned if the `$count` argument is true.

Fixes #30111.


git-svn-id: https://develop.svn.wordpress.org/trunk@30281 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-08 20:35:00 +00:00
Sergey Biryukov
ac90567ef1 Use proper functions for escaped translations.
pros jcastaneda.
fixes #30012.

git-svn-id: https://develop.svn.wordpress.org/trunk@29961 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-18 20:10:47 +00:00
Sergey Biryukov
f6753a316a Change the default orderby value in wp_get_nav_menus() to 'name'.
props voldemortensen, igmoweb.
fixes #29460.

git-svn-id: https://develop.svn.wordpress.org/trunk@29792 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-29 15:44:26 +00:00
Helen Hou-Sandi
758b290d02 Remove remaining title attributes from default-widgets.php, with the exception of the one on the link to WordPress.org. fixes #26552.
git-svn-id: https://develop.svn.wordpress.org/trunk@29338 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-01 17:04:30 +00:00
Sergey Biryukov
c62cd97555 Add a class for get_comment_author_link() in Recent Comments widget.
props DrewAPicture, dannydehaan, 5um17.
fixes #27944.

git-svn-id: https://develop.svn.wordpress.org/trunk@29241 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-19 02:43:27 +00:00
Scott Taylor
05abd7e56f Cleanup wp_widget_rss_form() after [28734]. "$$input used sanitized variables which contained actual values, unlike $inputs[$input] which in that context contains data about which input fields are hidden."
Props kovshenin.
Fixes #27881.


git-svn-id: https://develop.svn.wordpress.org/trunk@28787 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-20 17:28:12 +00:00
Scott Taylor
fa03901cd8 Don't use a variable variable in wp_widget_rss_form(). Sidenote: the logic to show hidden fields is bizarre - would result in duplicate fields.
See #27881.


git-svn-id: https://develop.svn.wordpress.org/trunk@28734 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-11 16:17:56 +00:00
Sergey Biryukov
6bca1ca960 Clean up wp_widget_rss_output():
* Fix appending […] to $summary.
* Use wp_trim_words() instead of wp_html_excerpt().
* Trim $title before checking if it's empty. props UmeshSingla.
* Use correct escaping function for $title.

fixes #28356.

git-svn-id: https://develop.svn.wordpress.org/trunk@28586 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-27 11:07:32 +00:00
Scott Taylor
707c313333 WP_Date_Query was only missing one access modifier.
Add access modifier (`public`) to all default widgets' class methods.

See #27881, #22234.


git-svn-id: https://develop.svn.wordpress.org/trunk@28532 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-19 17:29:42 +00:00
Scott Taylor
8a25c0ea1e Eliminate use of extract() in wp_widget_rss_form().
See #22400.


git-svn-id: https://develop.svn.wordpress.org/trunk@28449 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-16 15:37:53 +00:00
Scott Taylor
1b93413580 Eliminate use of extract() in wp_widget_rss_output().
Add `'items' => 0` to `$default_args`. When `0`, the value is set to `10` (the fallback). 
Every other default arg has a default value of `0`.

`items` is expected to always be passed to this function.

See #22400.


git-svn-id: https://develop.svn.wordpress.org/trunk@28440 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-15 19:41:41 +00:00
Scott Taylor
ce6f3de8ff Eliminate use of extract() in WP_Widget_RSS::widget().
See #22400.


git-svn-id: https://develop.svn.wordpress.org/trunk@28439 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-15 19:35:31 +00:00
Scott Taylor
812493f259 Eliminate use of extract() in default-widgets.php.
Props rzen, wonderboymusic.

See #22400.


git-svn-id: https://develop.svn.wordpress.org/trunk@28433 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-15 16:32:18 +00:00
Mark Jaquith
c4dd499979 Use '— Select —' instead of '-- Select --' for nav menus. Looks nicer.
see #27878

git-svn-id: https://develop.svn.wordpress.org/trunk@28205 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-25 00:34:20 +00:00
Mark Jaquith
65b0b658d7 Force users to choose a nav menu in the custom nav menu widget, for a better customizer UX
Before, they had to make a dummy change to get it to render. Now they
are made to choose a nav menu from the dropdown, which feels more
natural.

fixes #27878 for trunk. props westonruter

git-svn-id: https://develop.svn.wordpress.org/trunk@28197 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-24 20:44:32 +00:00
Dominik Schilling (ocean90)
0202625937 Recent Posts Widget: Use ob_end_flush() instead of ob_flush().
`ob_end_flush()` flushes the output buffer *and* turns output buffering off, same as `ob_get_flush()`.

props m_i_n.
see #28009 for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@28195 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-24 19:47:09 +00:00
Dominik Schilling (ocean90)
a2c020e068 WP_Widget: Introduce is_preview() method.
With the Widget Customizer it's possible that previewed widgets can leak data outside of Customizer, when the widget uses the cache API.
The Customizer calls the regular update callback which should already refresh the cache. Since cache additions aren't blocked yet the cache can be filled with preview data.
To prevent this issue `WP_Widget::is_preview()` will return true, when `$wp_customize->is_preview()` returns true. If `is_preview()` is true, cache additions are suspended via `wp_suspend_cache_addition()`. Make sure your object cache drop-in has implemented `wp_suspend_cache_addition()`.

`is_preview()` can/should also be used inside `WP_Widget::widget()`, see WP_Widget_Recent_Posts or WP_Widget_Recent_Comments for examples.

For more info see IRC logs: http://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2014-04-02&sort=asc#m824279

props westonruter.
fixes #27538.

git-svn-id: https://develop.svn.wordpress.org/trunk@27966 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-06 18:47:46 +00:00
Drew Jaynes (DrewAPicture)
5e1914e748 Inline documentation for hooks in wp-includes/default-widgets.php.
Props janw.oostendorp and kpdesign.
Fixes #25638.


git-svn-id: https://develop.svn.wordpress.org/trunk@27697 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-25 08:52:22 +00:00
Andrew Nacin
4983a8b8d0 RSS widgets: Omit the title attribute when the summary is shown.
Trim the title attribute to ensure whitespace isn't rendered.

props SergeyBiryukov.
fixes #26520. see #26552.


git-svn-id: https://develop.svn.wordpress.org/trunk@27691 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-24 21:07:10 +00:00
Dominik Schilling (ocean90)
adf2b46b8e In Recent Posts widget set default number to 5.
props afercia.
fixes #27417.

git-svn-id: https://develop.svn.wordpress.org/trunk@27561 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-17 17:00:22 +00:00
John Blackbourn
164b860c93 Add context and a missing period to widget descriptions. Fixes #26668. Props pavelevap, Hanni
git-svn-id: https://develop.svn.wordpress.org/trunk@27412 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-05 17:25:11 +00:00
Andrew Nacin
f3a23fb43f Reference https://wordpress.org rather than http://wordpress.org in strings, links, comments, etc.
props Ipstenu, markjaquith.
see #27115.


git-svn-id: https://develop.svn.wordpress.org/trunk@27369 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-03 02:33:24 +00:00
Andrew Ozz
3f7cbafb94 Widgets: improve the help text on the Widgets screen, props siobhan, props Hanni, fixes #26244.
git-svn-id: https://develop.svn.wordpress.org/trunk@26505 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-01 18:28:12 +00:00
Andrew Nacin
f000be8af3 More dash updates.
* Shuffle around some pixels.
 * Rename some things that weren't caught in [26220].
 * Revert default-widgets.php change from [26144].
props lessbloat.
see #25824.


git-svn-id: https://develop.svn.wordpress.org/trunk@26230 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-15 22:22:43 +00:00
Andrew Nacin
3b82749eba Merge the new dashboard design into core.
Merges https://github.com/growthdesigner/wp-dash.

props lessbloat, joen, helen, dbernar1, kraftbj, ryelle, tillkruess, grapplerulrich, markjaquith.
see #25824.


git-svn-id: https://develop.svn.wordpress.org/trunk@26144 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-13 22:08:47 +00:00
Andrew Nacin
f6138dc287 Remove redundant title attributes.
props sabreuse.
see #24766.


git-svn-id: https://develop.svn.wordpress.org/trunk@25675 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-02 22:50:50 +00:00
Scott Taylor
1a46a76c18 Use wp_get_nav_menus() instead of get_terms('nav_menu') in WP_Nav_Menu_Widget to preserve use of `wp_get_nav_menus' filter.
Props Frank Klein.
Fixes #25263.



git-svn-id: https://develop.svn.wordpress.org/trunk@25332 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-10 23:29:04 +00:00
Sergey Biryukov
8e4a6b31cd Avoid PHP notices when configuring the Incoming Links dashboard widget. fixes #25250.
git-svn-id: https://develop.svn.wordpress.org/trunk@25298 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-07 18:16:09 +00:00