Commit Graph

24 Commits

Author SHA1 Message Date
Gary Pendergast
a75d153eee Coding Standards: Upgrade WPCS to 1.0.0
WPCS 1.0.0 includes a bunch of new auto-fixers, which drops the number of coding standards issues across WordPress significantly. Prior to running the auto-fixers, there were 15,312 issues detected. With this commit, we now drop to 4,769 issues.

This change includes three notable additions:
- Multiline function calls must now put each parameter on a new line.
- Auto-formatting files is now part of the `grunt precommit` script. 
- Auto-fixable coding standards issues will now cause Travis failures.

Fixes #44600.



git-svn-id: https://develop.svn.wordpress.org/trunk@43571 602fd350-edb4-49c9-b593-d223f7449a82
2018-08-17 01:50:26 +00:00
Gary Pendergast
8f95800d52 Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.



git-svn-id: https://develop.svn.wordpress.org/trunk@42343 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-30 23:09:33 +00:00
John Blackbourn
19c0a55711 Docs: Standardise the format used for documenting parameters passed by reference.
See #35974, #41017


git-svn-id: https://develop.svn.wordpress.org/trunk@41688 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-02 22:13:04 +00:00
Drew Jaynes
b4d81bd654 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@41162 602fd350-edb4-49c9-b593-d223f7449a82
2017-07-27 00:40:27 +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
Scott Taylor
e8ab847c74 Widgets: $option_name and $alt_option_name have been used as members ever since WP_Widget became an object in 2.8, but never declared.
See #37771.


git-svn-id: https://develop.svn.wordpress.org/trunk@38318 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-22 21:50:44 +00:00
Dominik Schilling (ocean90)
30b1f09c21 Widgets: Revert [37425] and [37427].
The change can cause fatal errors under certain conditions, like when the subclass has a different function signature for `widget()` or doesn't even implement the method.

See #35981.

git-svn-id: https://develop.svn.wordpress.org/trunk@37648 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-06 21:50:29 +00:00
Drew Jaynes
c49afe285c Docs: Standardize filter docs in core classes in wp-includes/* to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37492 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:14:19 +00:00
Dominik Schilling (ocean90)
5cb475e617 Widgets: Make WP_Widget a real abstract class.
This removes the `die()` call from `WP_Widget::widget()` and converts it to an abstract method.
`WP_Widgets` (later renamed to `WP_Widget`) was introduced in [10764] where the minimum PHP requirement was 4.3, thus no `abstract` was available.

Props johnbillion.
Fixes #35981.

git-svn-id: https://develop.svn.wordpress.org/trunk@37425 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-12 20:22:15 +00:00
Drew Jaynes
dbba2255f8 Docs: Improve the class DocBlock for WP_Widget to clarify which methods "should" vs "must" be overridden by extending sub-classes.
Props Frank-Klein.
Fixes #36703.


git-svn-id: https://develop.svn.wordpress.org/trunk@37343 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-02 04:52:55 +00:00
Drew Jaynes
1395ff6db4 Docs: Improve inline documentation syntax throughout WP_Widget.
Fixes #36298.


git-svn-id: https://develop.svn.wordpress.org/trunk@37065 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-23 05:31:31 +00:00
Drew Jaynes
43dfcc5fa8 Docs: Add missing information to the WP_Widget PHP4 constructor DocBlock.
Also add several missing at `@access` tags to other method DocBlocks and clarify parameter docs for `WP_Widget::form_callback()`.

Props raimy.
See #36298.


git-svn-id: https://develop.svn.wordpress.org/trunk@37064 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-23 05:09:48 +00:00
Weston Ruter
4569f93d3e 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@37040 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-21 21:58:02 +00:00
Dominik Schilling (ocean90)
a440256da0 Introduce a $parent_class parameter for _deprecated_constructor().
Use the parameter for the deprecated constructor warning in `WP_Widget` to provide an indication to which widget is using the PHP4 style constructor.

Props sebastian.pisula.
Fixes #33440.

git-svn-id: https://develop.svn.wordpress.org/trunk@36541 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 23:19:38 +00:00
Drew Jaynes
57aa67b2cf Docs: Add missing summaries and @since versions to DocBlocks for the _get_display_callback(), _get_update_callback(), and _get_form_callback() methods in WP_Widget.
Introduced in [10764].

See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@35955 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-16 05:38:46 +00:00
Scott Taylor
d936110f7c Widgets: when getting settings, and none exist, set them to empty to avoid extraneous database queries on subsequent requests.
Adds unit tests.

Props kovshenin, MikeHansenMe, dlh.
Fixes #26876.


git-svn-id: https://develop.svn.wordpress.org/trunk@35100 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-13 01:12:12 +00:00
Drew Jaynes
bf22859e52 Docs: Fix the placement and ordering of some @since tags following [34780].
See #12133. See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34782 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-02 20:49:49 +00:00
John Blackbourn
48300f62b3 Introduce support for array format field names in WP_Widget::get_field_name() and WP_Widget::get_field_id().
Fixes #12133
Props ch1902, welcher


git-svn-id: https://develop.svn.wordpress.org/trunk@34780 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-02 20:23:54 +00:00
DrewAPicture
653ababa6f Docs: Improve the method docs for the widget(), update(), form(), and __construct() methods in the WP_Widget base class.
See #34013. See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34560 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 20:30:02 +00:00
Drew Jaynes
5e875e78f7 Docs: The Widget API is singular.
See #33701.


git-svn-id: https://develop.svn.wordpress.org/trunk@34392 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-22 12:27:33 +00:00
Drew Jaynes
4c5276edcf Docs: Improve the file header for class-wp-widget.php to describe what the file contains.
Also rewrites the class DocBlock summary for `WP_Widget` to better describe the '''purpose''' of the class.

See #33413. See #33701.


git-svn-id: https://develop.svn.wordpress.org/trunk@33869 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-03 02:49:39 +00:00
Drew Jaynes
8aefa21974 Docs: Bring the file header and class DocBlock summaries for class-wp-widget.php in-line with the intention of the docs standard:
* File headers: _What_ the file is
* Class DocBlocks: What purpose the class serves. Mentioning the class name in the class DocBlock is redundant

See #33413


git-svn-id: https://develop.svn.wordpress.org/trunk@33816 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-30 23:13:45 +00:00
Drew Jaynes
76f5134023 Docs: Add a file header to wp-includes/class-wp-widget.php, created when the WP_Widget class was moved to its own file in [33746].
It's important for every file in WordPress, regardless of makeup or architecture, to have its own file header, even if the file contains nothing but a class. When parsed, files and classes are mutually exclusive and should be documented with this in mind.

See [33746]. See #33413.


git-svn-id: https://develop.svn.wordpress.org/trunk@33755 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-26 07:44:59 +00:00
Scott Taylor
6c71ee8d84 Widgets: move classes into their own files, widgets.php loads the new files, so this is 100% BC if someone is loading widgets.php directly. New files created using svn cp.
Creates: 
`class-wp-widget.php` 
`class-wp-widget-factory.php` 
`widget-functions.php` 

`widgets.php` contains only top-level code. Class files only contain classes. Functions file only contains functions.

See #33413.


git-svn-id: https://develop.svn.wordpress.org/trunk@33746 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-26 02:39:50 +00:00