Commit Graph

121 Commits

Author SHA1 Message Date
Gary Pendergast 56c162fbc9 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.


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


git-svn-id: http://core.svn.wordpress.org/trunk@43400 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-08-17 01:51:36 +00:00
Sergey Biryukov 95071b2ea1 Docs: Update `@since` version for `theme_templates` filter added in [43025].
See #43872.
Built from https://develop.svn.wordpress.org/trunk@43027


git-svn-id: http://core.svn.wordpress.org/trunk@42856 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-04-29 22:42:22 +00:00
Sergey Biryukov 0c071471d6 Themes: Introduce `theme_templates` filter for page templates of all post types.
This complements the `theme_{$post_type}_templates` dynamic filter added in [38951].

Props desrosj.
Fixes #43872.
Built from https://develop.svn.wordpress.org/trunk@43025


git-svn-id: http://core.svn.wordpress.org/trunk@42854 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-04-29 22:18:22 +00:00
John Blackbourn 2361ca884f Docs: Document more parameters and properties using typed array notation.
See #41756

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


git-svn-id: http://core.svn.wordpress.org/trunk@42706 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-25 19:33:31 +00:00
John Blackbourn b13e73d05c Docs: Document more parameters and properties using typed array notation.
See #41756

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


git-svn-id: http://core.svn.wordpress.org/trunk@42705 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-25 18:10:32 +00:00
Sergey Biryukov b026fde152 Docs: Remove `@static` notations from property DocBlocks in `wp-admin/*` and `wp-includes/*` classes.
This tag has been used in the past, but should no longer be used. Just using the `static` keyword in code is enough for PhpDocumentor on PHP5+ to recognize static variables and methods, and PhpDocumentor will mark them as static.

Props birgire.
See #42803.
Built from https://develop.svn.wordpress.org/trunk@42747


git-svn-id: http://core.svn.wordpress.org/trunk@42577 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-25 20:32:30 +00:00
Sergey Biryukov 08227812a0 Docs: Remove `@static` notations from method DocBlocks in `wp-includes/*` classes.
This tag has been used in the past, but should no longer be used. Just using the `static` keyword in code is enough for PhpDocumentor on PHP5+ to recognize static variables and methods, and PhpDocumentor will mark them as static.

Props birgire.
See #42803.
Built from https://develop.svn.wordpress.org/trunk@42746


git-svn-id: http://core.svn.wordpress.org/trunk@42576 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-25 20:22:30 +00:00
Sergey Biryukov b6229650e0 Themes: Pre-translate theme names on Themes screen before sorting the array, to improve performance and avoid a warning in PHP 5.x.
Props bobbingwide, sebastian.pisula.
Fixes #34565.
Built from https://develop.svn.wordpress.org/trunk@42734


git-svn-id: http://core.svn.wordpress.org/trunk@42564 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-25 13:18:30 +00:00
Gary Pendergast aaf99e6913 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.


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


git-svn-id: http://core.svn.wordpress.org/trunk@42172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-30 23:11:00 +00:00
Dion Hulse 28677d382d Theme/Plugin Editor: Remove the caching added in [41806] as it causes more problems than it fixes.
While caching here seemed like a good idea in theory, in practice the cache would be often stale causing development issues.
We exclude common folders (such as `node_modules`) from the scanning to avoid directories which are not useful to the end-user, so as long as those exclusion lists are held up this shouldn't cause too much of a degredation in the future.
We may consider adding caching here again in the future if it's determined that it is really needed.

Props precies, ibenic, mariovalney, schlessera, and all the others who commented on the ticket(s).
This partually reverts [41806].
See #6531.
Fixes #42573.

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


git-svn-id: http://core.svn.wordpress.org/trunk@42071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-27 02:59:47 +00:00
Pascal Birchler 8222b85aa2 Themes: Show templates from both parent and child theme when calling `WP_Theme::get_post_templates()`.
Props birgire for initial patch.
Fixes #41717.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41809 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-23 20:08:47 +00:00
Gary Pendergast 58db3cb54e File Editor: Add support for more than one sub-directory level.
The theme and plugin editors now list all files in the selected theme or plugin, recursing through subdirectories as necessary.

Props WraithKenny, schlessera, chsxf, MikeHansenMe, Daedalon, valendesigns, westonruter, pento.
Fixes #6531.


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


git-svn-id: http://core.svn.wordpress.org/trunk@41640 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-10 05:34:49 +00:00
John Blackbourn 4a16295dc5 Docs: Standardise the format used for documenting parameters passed by reference.
See #35974, #41017

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


git-svn-id: http://core.svn.wordpress.org/trunk@41522 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-02 22:14:46 +00:00
Pascal Birchler e7beaa590f Themes: Adjust translated string after [41601].
Props obenland.
See #40820.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41442 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-27 08:38:45 +00:00
Pascal Birchler 1ac10346ce Themes: Report theme as broken that sets itself as its parent.
Props davilera.
Fixes #40820.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41436 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-26 08:54:47 +00:00
Drew Jaynes 0401cee8b3 Docs: Reduce confusion in `@since MU` notationss by indicating the WP version (3.0.0) the code was merged into core while retaining the original context.
Props sathyapulse.
Fixes #41509.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41040 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-01 20:44:43 +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
Rachel Baker 503d42fe6b Themes: Add filter for excluding directories from being scanned for template files.
Exclude 'node_modules' directories from paths searched in `WP_Theme::scandir()`. Introduces the `theme_scandir_exclusions` filter to allow sites to exclude any other paths like `bower_components` or `vendor` from being searched for template files.

Props lukasbesch, dd32, swisspidy, rachelbaker. 
Fixes #38292. 

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


git-svn-id: http://core.svn.wordpress.org/trunk@40208 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-18 03:54:41 +00:00
Dominik Schilling ce7fb2934d Themes: Fix markup for theme name fallbacks.
Built from https://develop.svn.wordpress.org/trunk@39807


git-svn-id: http://core.svn.wordpress.org/trunk@39745 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-01-11 10:34:44 +00:00
Sergey Biryukov 64675a6a0b Docs: Add missing `@since` entries for `WP_Theme` class methods.
Props keesiemeijer.
Fixes #39503.
Built from https://develop.svn.wordpress.org/trunk@39736


git-svn-id: http://core.svn.wordpress.org/trunk@39676 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-01-06 22:10:35 +00:00
Peter Wilson 21248ce3ab Posts, Post Types: Improve sanitisation of templates' post types.
Prevents post type templates ignoring post types due to invalid characters. Each entry in the `Template Post Type` comment is run through `sanitize_key()` to match the sanitisation used by `register_post_type()`.

Fixes #38766.

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


git-svn-id: http://core.svn.wordpress.org/trunk@39176 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-11-15 03:37:31 +00:00
Pascal Birchler 2f7f8d526b Posts, Post Types: Fix post type templates with child themes.
After [38951] added support for post type templates beyond pages, this fixes an issue where an empty meta box would be shown when using child themes.

Fixes #38696.
Built from https://develop.svn.wordpress.org/trunk@39168


git-svn-id: http://core.svn.wordpress.org/trunk@39108 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-11-08 22:41:30 +00:00
Pascal Birchler 81a26f6900 Posts, Post Types: Add support for post type templates.
WordPress has supported custom page templates for over 12 years, allowing developers to create various layouts for specific pages.
While this feature is very helpful, it has always been limited to the 'page' post type and not was not available to other post types.

By opening up the page template functionality to all post types, we continue to improve the template hierarchy's flexibility.

In addition to the `Template Name` file header, the post types supported by a template can be specified using `Template Post Type: post, foo, bar`.
When at least one template exists for a post type, the 'Post Attributes' meta box will be displayed in the back end, without the need to add post type support for `'page-attributes'`. 'Post Attributes' can be customized per post type using the `'attributes'` label when registering a post type.

Props johnbillion, Mte90, dipesh.kakadiya, swissspidy.
Fixes #18375.
Built from https://develop.svn.wordpress.org/trunk@38951


git-svn-id: http://core.svn.wordpress.org/trunk@38894 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-26 08:07:30 +00:00
Gary Pendergast 0e0af249be Themes: Twenty Seventeen is now the default theme.
It's party time!

Fixes #38372.


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


git-svn-id: http://core.svn.wordpress.org/trunk@38782 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-20 09:13:29 +00:00
Pascal Birchler 4a88d55054 I18N: Introduce a user-specific language setting.
By enabling the user to select their preferred locale when editing the profile, we allow for greater personalization of the WordPress admin and therefore a better user experience.

The back end will be displayed in the user's individual locale while the locale used on the front end equals the one set for the whole site. If the user didn't specify a locale, the site's locale will be used as a fallback. The new `locale` property of the `WP_User` class can be used to retrieve the user's locale setting.

Props ocean90, ipm-frommen, swissspidy.
Fixes #29783.
Built from https://develop.svn.wordpress.org/trunk@38705


git-svn-id: http://core.svn.wordpress.org/trunk@38648 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-03 07:04:29 +00:00
Drew Jaynes 6cc13f0c54 Docs: Fix formatting, tense, verb conjugation, and other syntax for wp-includes/* elements introduced or changed in 4.6.
Part 1/2.

See #37318.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38062 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-20 16:57:32 +00:00
Dominik Schilling 720106e16d Themes: After [37287], add deprecated theme features to the tag list in `WP_Theme::translate_header()`.
Themes which are not yet updated can still have the old tags. This makes sure that these tags are still translated.

See #33407.
Built from https://develop.svn.wordpress.org/trunk@37946


git-svn-id: http://core.svn.wordpress.org/trunk@37887 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-04 09:58:28 +00:00
Drew Jaynes fb6d8bae49 Docs: Apply inline `@see` tags to hooks referenced in DocBlocks for core classes.
Applying these specially-crafted `@see` tags allows the Code Reference parser to recognize and link these elements as actions and filters.

See #36921.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37507 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-23 18:54:27 +00:00
Drew Jaynes 602b51a209 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37460 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 18:15:28 +00:00
Drew Jaynes b1804afeaf Docs: Standardize on 'backward compatibility/compatible' nomenclature in core inline docs.
Also use 'back-compat' in some inline comments where backward compatibility is the subject and shorthand feels more natural.

Note: 'backwards compatibility/compatibile' can also be considered correct, though it's primary seen in regular use in British English.

Props ocean90.
Fixes #36835.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37397 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-13 18:41:31 +00:00
Drew Jaynes 664bb85f1b Docs: Add backtick escaping for two inline code samples in docs.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37304 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-01 17:32:26 +00:00
Jeremy Felt 6279ca91de Multisite: Introduce `WP_Theme` methods to network enable/disable themes.
* `WP_Theme::network_enable_theme()` can be used to enable a theme or array of themes on a network.
* `WP_Theme::network_disable_theme()` can be used to disable a theme or array of themes on a network.
* Use these new methods in the network admin vs direct `update_site_option()` calls.
* Add tests.

Props igmoweb.
Fixes #30594.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37168 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-04-14 03:40:27 +00:00
Drew Jaynes 3f3659cd80 Docs: Fix two typos in return descriptions for `WP_Theme` private `usort()` methods.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36706 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-26 17:23:26 +00:00
Drew Jaynes 24a301e06e Docs: Add missing parameter and return notations in the DocBlock for `WP_Theme::_name_sort_i18n()`, a private `usort()` helper.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36705 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-26 17:21:25 +00:00
Drew Jaynes 3851bc0c56 Docs: Add missing parameter and return notations in the DocBlock for `WP_Theme::_name_sort()`, a private `usort()` helper.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36704 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-26 17:19:25 +00:00
Drew Jaynes 22ad478325 Docs: Add a missing description for the `&$themes` parameter in the DocBlock for `WP_Theme::sort_by_name()`.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36703 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-26 17:12:26 +00:00
Drew Jaynes c8b530f088 Docs: Add missing parameter and return descriptions to the DocBlock for `WP_Theme::__isset()`.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36701 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-26 17:04:27 +00:00
Pascal Birchler 81e9462ca3 Themes: Improve error messages for broken themes.
Props mayukojpn for initial patch.
Fixes #35286.
Built from https://develop.svn.wordpress.org/trunk@36638


git-svn-id: http://core.svn.wordpress.org/trunk@36605 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-23 17:20:27 +00:00
Eric Lewis 22467e840f Networks and sites: Replace "blog" usage with "site" in docs.
Multisite functions use the term "blog" to refer to what we now call a "site," e.g. `get_current_blog_id()`. These functions are here to stay because of our commitment to backwards compatibility. What we can do is set the documentation straight.

See #35417.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36383 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-28 03:35:27 +00:00
Jeremy Felt 3018d9827c Themes: Enhance filtering options for allowed themes on a network.
* Move the legacy `allowed_themes` filter to `WP_Theme::get_allowed_on_network()`, where it will continue to filter themes allowed on the network.
* Add `network_allowed_themes` filter to `WP_Theme::get_allowed()` and pass `$blog_id` to provide context.
* Add `site_allowed_themes` filter to `WP_Theme::get_allowed_on_site()` and pass `$blog_id` to provide context.

Props pauldewouters, lamosty, michalzuber, dmsnell, johnnypea, rob.
Fixes #28436.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36333 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-20 18:29:27 +00:00
John Blackbourn a4facedfee Docs: Various docblock corrections.
See #32246

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


git-svn-id: http://core.svn.wordpress.org/trunk@36217 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-10 01:26:25 +00:00
Aaron Jorbin 7ab65139c6 Theme: Escape error messages
Built from https://develop.svn.wordpress.org/trunk@36185


git-svn-id: http://core.svn.wordpress.org/trunk@36152 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-06 17:23:28 +00:00
Scott Taylor 79a2915a9b Upgrade: New themes are not automatically installed on upgrade. This can still be explicitly asked for by defining `CORE_UPGRADE_SKIP_NEW_BUNDLED` as `false`.
In `populate_options()`, if the theme specified by `WP_DEFAULT_THEME` doesn't exist, fall back to the latest core default theme. If we can't find a core default theme, `WP_DEFAULT_THEME` is the best we can do. 

Props nacin, jeremyfelt, dd32.
See #34306.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-25 21:45:25 +00:00
Drew Jaynes 1b1e18027d Template: Make it possible to both ''add'' and ''remove'' items from the page templates list using the `theme_page_templates` filter.
The `theme_page_templates` hook was originally added in [27297] as `page_templates`, and later renamed in [27470]. Previously, it was only possible to remove or rename page templates via this hook.

Fixes #13265. Fixes #25879.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34960 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 21:51:25 +00:00
Jeremy Felt 9926983b66 Revert [34778], continue using `_site_option()` for the current network.
The `_network_option()` parameter order will be changing to accept `$network_id` first. The `_site_option()` functions will remain in use throughout core as our way of retrieving a network option for the current network.

See #28290.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34877 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-07 17:11:25 +00:00
Jeremy Felt 54512d64cb MS: Use `*_network_option()` functions throughout core.
Replaces all uses of `*_site_option()` with the corresponding "network" function.

This excludes one usage in `wp-admin/admin-footer.php` that needs more investigation.

Props spacedmonkey.
See #28290.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34743 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 19:08:26 +00:00
Drew Jaynes 4a69b4d275 Docs: Fix some syntactical issues with the DocBlock for the `WP_Theme->update` property, introduced in [33957].
Adds an `@since`.

See #33491. See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34200 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-16 13:29:25 +00:00
Scott Taylor 5e9e1d14bd `WP_Theme` has an ad hoc property in `WP_MS_Themes_List_Table`, `$update`. This can be set to a default value on the class, as it's not obtained via `__get()`.
See #33491.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33926 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-09 01:02:24 +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
Scott Taylor bd8fafea54 Use `void` instead of `null` where appropriate when pipe-delimiting `@return` types. If a `@return` only contains `void`, remove it.
See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32538 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-24 05:40:25 +00:00