Commit Graph

162 Commits

Author SHA1 Message Date
Sergey Biryukov
0b4e2c4604 Coding Standards: Use strict type check for in_array() and array_search() where strings are involved.
This reduces the number of `WordPress.PHP.StrictInArray.MissingTrueStrict` issues from 486 to 50.

Includes minor code layout fixes for better readability.

See #49542.

git-svn-id: https://develop.svn.wordpress.org/trunk@47550 602fd350-edb4-49c9-b593-d223f7449a82
2020-04-05 03:00:44 +00:00
Sergey Biryukov
f852ca2cc1 Widgets: Create a unique HTML ID for the <ul> element of Recent Comments widget if more than one instance is displayed on the page.
Props peterwilsoncc, audrasjb, birgire, justinahinon, mbrailer, desrosj.
Fixes #46747.

git-svn-id: https://develop.svn.wordpress.org/trunk@47371 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-25 19:27:22 +00:00
Jonathan Desrosiers
9f87034879 Widgets: Revert [47307].
Even though the source URL for an attachment is stored in a variable, attachments should still be passed through the `wp_video_shortcode()` function.

Unprops desrosj, spacedmonkey.
See #46718.

git-svn-id: https://develop.svn.wordpress.org/trunk@47308 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-18 18:17:53 +00:00
Jonathan Desrosiers
0d7a5f949d Widgets: Remove unnecessary redundant conditional.
Props spacedmonkey.
Fixes #46718.

git-svn-id: https://develop.svn.wordpress.org/trunk@47307 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-18 17:50:54 +00:00
Sergey Biryukov
543944257c Coding Standards: Rename $d parameter in various date/time functions to $format for clarity.
See #49222.

git-svn-id: https://develop.svn.wordpress.org/trunk@47287 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-14 00:05:43 +00:00
Sergey Biryukov
e72fff9cef Code Modernization: Replace dirname( __FILE__ ) calls with __DIR__ magic constant.
This avoids the performance overhead of the function call every time `dirname( __FILE__ )` was used instead of `__DIR__`.

This commit also includes:

* Removing unnecessary parentheses from `include`/`require` statements. These are language constructs, not function calls.
* Replacing `include` statements for several files with `require_once`, for consistency:
 * `wp-admin/admin-header.php`
 * `wp-admin/admin-footer.php`
 * `wp-includes/version.php`

Props ayeshrajans, desrosj, valentinbora, jrf, joostdevalk, netweb.
Fixes #48082.

git-svn-id: https://develop.svn.wordpress.org/trunk@47198 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-06 06:31:22 +00:00
Sergey Biryukov
cfc3b57488 Docs: Improve inline comments per the documentation standards.
Includes minor code layout fixes for better readability.

See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@47122 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-29 00:43:23 +00:00
Sergey Biryukov
32ccb24cb0 Docs: Remove @return void from widget DocBlocks.
Per the documentation standards, it should not be used outside of the default bundled themes.

See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@47055 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-10 00:28:10 +00:00
John Blackbourn
bcfccc7344 Docs: Correct various docblocks documentation.
See #48303

git-svn-id: https://develop.svn.wordpress.org/trunk@46821 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-06 22:21:07 +00:00
John Blackbourn
8c21607a97 Docs: Correct invalid hook docblock placement.
See #48303


git-svn-id: https://develop.svn.wordpress.org/trunk@46604 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-27 19:33:12 +00:00
Sergey Biryukov
a59b9dd39e Coding Standards: Fix WPCS issues in WP_Widget_Links and WP_Widget_Pages.
Props itowhid06.
Fixes #48228.

git-svn-id: https://develop.svn.wordpress.org/trunk@46415 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-06 15:26:42 +00:00
Sergey Biryukov
5fdf48c0ec Script Loader: Introduce HTML5 support for scripts and styles.
When a theme declares HTML5 support for script and styles via `add_theme_support( 'html5', array( 'script', 'style' ) )`, the `type="text/javascript"` and `type="text/css"` attributes are omitted.

These attributes are unnecessary in HTML5 and cause warnings in the W3C Markup Validation Service.

Props sasiddiqui, swissspidy, knutsp, SergeyBiryukov.
See #42804.

git-svn-id: https://develop.svn.wordpress.org/trunk@46164 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-18 14:49:30 +00:00
Andrea Fercia
0dbd752500 Accessibility: Add aria-current to the Archives, Categories, and Recent Posts widgets output.
The `aria-current` attribute is a simple, effective, way to help assistive technology users orientate themselves within a list of items.

Continues the introduction in core of the `aria-current` attribute after [41359] and following changes.

Props audrasjb, melchoyce.
Fixes #47094.


git-svn-id: https://develop.svn.wordpress.org/trunk@46163 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-18 12:24:35 +00:00
Sergey Biryukov
00b03f2a6f I18N: Capitalize translator comments consistently, add trailing punctuation.
Includes minor code layout fixes.

See #44360.

git-svn-id: https://develop.svn.wordpress.org/trunk@45932 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-03 00:39:13 +00:00
Sergey Biryukov
a7513ac8e0 I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.

Includes minor code layout fixes.

Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!

Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.

git-svn-id: https://develop.svn.wordpress.org/trunk@45926 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-01 17:12:43 +00:00
Jake Spurlock
f88cc8aaa7 Widgets: Replace http with https in the link placeholder widget image
The existing placeholder can make the user think that they must use http. We should encourage the use of https. 
Also, the block editor uses https for its placeholders. Let's add some consistency.

Props Chaton666, audrasjb, mukesh27.
Fixes #46320.


git-svn-id: https://develop.svn.wordpress.org/trunk@45777 602fd350-edb4-49c9-b593-d223f7449a82
2019-08-09 17:05:13 +00:00
Sergey Biryukov
7a6f44b979 Docs: Add missing description for $post global.
Props immeet94.
Fixes #46503. See #47110.

git-svn-id: https://develop.svn.wordpress.org/trunk@45742 602fd350-edb4-49c9-b593-d223f7449a82
2019-08-04 12:27:02 +00:00
Andrea Fercia
882d3f5c16 Accessibility: Remove title attributes from the Meta widget.
- removes the `Powered by WordPress, state-of-the-art semantic personal publishing platform.` title attribute
- removes the title attribute from the abbreviations: contrary to a common belief, title attributes on abbreviations are only available to a minority of users, see https://developer.paciellogroup.com/blog/2019/03/short-note-the-abbreviation-appreciation-society/
- changes the term `RSS` to `feed`, as `RSS` is a technical term not all users are supposed to be familiar with
- improves the `widget_meta_poweredby` filter documentation

Props nishitlangaliya, chetan200891, audrasjb.
See #46980, #24766.
Fixes #46978.


git-svn-id: https://develop.svn.wordpress.org/trunk@45728 602fd350-edb4-49c9-b593-d223f7449a82
2019-08-03 13:27:43 +00:00
Sergey Biryukov
3c73c7a56f Taxonomy: Fix deprecated calls to get_terms().
The taxonomy should be passed as part of `$args`, rather than as its own argument.

Props sgastard, mukesh27, SergeyBiryukov.
Fixes #47819.

git-svn-id: https://develop.svn.wordpress.org/trunk@45723 602fd350-edb4-49c9-b593-d223f7449a82
2019-08-03 03:34:54 +00:00
Gary Pendergast
d36eda33f7 Coding Standards: Fix instances of WordPress.PHP.NoSilencedErrors.Discouraged.
Noteable changes:
- The `magic_quotes_runtime` and `magic_quotes_sybase` settings were removed in PHP 5.4, so no longer need to be set.
- Some functions that use external libraries can generate errors that can't be tested for, so are globally allowed to silence errors.
- Quite a few functions would cause errors if `safe_mode` was set. This setting was removed in PHP 5.4.
- Only a handful of `header()` calls needed corresponding `headers_sent()` checks for unit tests to pass, but more may need to be added as the nightlies builds are tested.

See #46732.


git-svn-id: https://develop.svn.wordpress.org/trunk@45611 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-09 05:44:42 +00:00
Gary Pendergast
4503f93961 Coding Standards: Fix the Squiz.PHP.DisallowMultipleAssignments violations in wp-includes.
See #47632.



git-svn-id: https://develop.svn.wordpress.org/trunk@45590 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-02 23:41:16 +00:00
Sergey Biryukov
62385fdd00 I18N: Correct encoding for wp-includes/widgets/class-wp-widget-calendar.php, accidentally saved in ANSI instead of UTF-8.
See #47485.

git-svn-id: https://develop.svn.wordpress.org/trunk@45493 602fd350-edb4-49c9-b593-d223f7449a82
2019-06-05 15:08:42 +00:00
Sergey Biryukov
3fc93cbbb6 I18N: Merge duplicate "A calendar of your site’s posts" strings used in the Calendar widget and the Calendar block in the editor.
Props jorgefilipecosta, ramiy.
Fixes #47485.

git-svn-id: https://develop.svn.wordpress.org/trunk@45492 602fd350-edb4-49c9-b593-d223f7449a82
2019-06-05 15:02:56 +00:00
Sergey Biryukov
2fe447bd2d I18N: Remove unnecessary context for "WordPress.org" string in WP_Widget_Meta.
Props ramiy.
Fixes #47038.

git-svn-id: https://develop.svn.wordpress.org/trunk@45436 602fd350-edb4-49c9-b593-d223f7449a82
2019-05-26 15:32:05 +00:00
Sergey Biryukov
8cacee3960 Docs: Add @see references to WP_Widget_Media in media widget DocBlocks.
Props iamjaydip.
Fixes #47231.

git-svn-id: https://develop.svn.wordpress.org/trunk@45306 602fd350-edb4-49c9-b593-d223f7449a82
2019-05-14 20:21:28 +00:00
Gary Pendergast
cfebdd3752 Widgets: Add rel="noopener noreferrer" to links with target="_blank" in the Image widget.
Props audrasjb, welcher, afercia.
Fixes #43280.



git-svn-id: https://develop.svn.wordpress.org/trunk@45144 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-08 23:22:14 +00:00
Gary Pendergast
5dfdc9b9c4 Widgets: Add rel="noopener noreferrer" to links with target="_blank" in the Text and HTML widgets.
Props audrasjb, birgire, mukesh27.
Fixes #46421.



git-svn-id: https://develop.svn.wordpress.org/trunk@45143 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-08 23:17:35 +00:00
Sergey Biryukov
f4e57f92e4 Widgets: Make sure changes to media widgets' instance schema via widget_{$this->id_base}_instance_schema filter are not overridden by subclasses.
Previously, `WP_Widget_Media_Audio`, `WP_Widget_Media_Image`, and `WP_Widget_Media_Video` used to override the changes due to reversed arguments in `array_merge()` call.

Props Toro_Unit, birgire.
Fixes #45029.

git-svn-id: https://develop.svn.wordpress.org/trunk@45100 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-02 22:12:11 +00:00
Sergey Biryukov
9265ff8a2f Widgets: Pre-select currently viewed archive in the Archives dropdown widget, for consistency with the Categories widget.
Props robobot3000, audrasjb, afercia, Themonic.
Fixes #40662.

git-svn-id: https://develop.svn.wordpress.org/trunk@44897 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-14 19:30:59 +00:00
Andrea Fercia
951b462ea2 Accessibility: Replace media placeholder clickable divs with buttons.
`<button>` elements are natively interactive, supported by any assistive technology, and must be used instead of non-semantic, non-accessible `<div>` elements.

Also, this change aligns the Media Widgets and the Customizer site icon and site logo controls with the design pattern used in the new Block Editor for similar controls.

Props ramonopoly, welcher, afercia.
Fixes #43151.


git-svn-id: https://develop.svn.wordpress.org/trunk@44796 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-05 17:49:00 +00:00
Andrea Fercia
4e02973bc1 Accessibility: Improve the image and gallery widgets preview accessibility.
In an authoring context, the image `alt` attribute purpose is different from the one for the front end. For example, screen reader users need to know what the selected image is, even when the original `alt` value is empty.

This change introduces a new pattern for the `alt` text in an authoring context:
- uses the `alt` text if not empty
- when there's no `alt` text, informs users the image has no alternative text and provides a reference to the image filename

Also, makes the gallery media widget preview an unordered list to make screen readers announce the number of images automatically.

Fixes #43137.


git-svn-id: https://develop.svn.wordpress.org/trunk@44767 602fd350-edb4-49c9-b593-d223f7449a82
2019-02-23 18:31:05 +00:00
Gary Pendergast
02422aab1d Widgets: Fix Gallery Widget preview after an image is deleted.
The Gallery Widget incorrectly tried to include the deleted image in the preview.

Props westonruter, janak007, afercia, mrasharirfan.
Fixes #43139.



git-svn-id: https://develop.svn.wordpress.org/trunk@44661 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-21 04:12:10 +00:00
Gary Pendergast
e121a5e03d Widgets: Remove unnecessary sanitize_text_field() calls in core widget ::form() methods.
This sanitisation only needs to be run in `::update()` to correctly clean up the input.

Props welcher, greenshady.
Fixes #42461.



git-svn-id: https://develop.svn.wordpress.org/trunk@44589 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-15 00:42:30 +00:00
Gary Pendergast
4550488c99 Widgets: Don't log invalid HTML in the Text Widget.
[41215] supresses these irrelevant error messages from the front end, this removes them from the error log, too.

Props jeherve.
Fixes #43815.



git-svn-id: https://develop.svn.wordpress.org/trunk@44578 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-14 05:04:12 +00:00
Gary Pendergast
992184cf73 Coding Standards: Upgrade WPCS to 1.2.1.
This upgrade fixes quite a few false positives, as well as auto-fixing some indenting issues.

Fixes #45956.



git-svn-id: https://develop.svn.wordpress.org/trunk@44574 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-12 06:40:16 +00:00
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
Sergey Biryukov
6d2bcaa9b3 Administration: Change all the occurrences of "(opens in a new window)" to "(opens in a new tab)".
Props chetan200891, ianbelanger, afercia.
Fixes #43803.

git-svn-id: https://develop.svn.wordpress.org/trunk@43174 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-05 09:44:21 +00:00
Sergey Biryukov
1fddd69163 I18N: Use the actual placeholder instead of a number in translator comments if the corresponding string does not use numbered placeholders.
Add missing translator comments in `WP_Theme_Install_List_Table` and `wp_notify_postauthor()`.
Add missing commas in some translator comments.

Fixes #43523.

git-svn-id: https://develop.svn.wordpress.org/trunk@42827 602fd350-edb4-49c9-b593-d223f7449a82
2018-03-11 16:43:59 +00:00
Sergey Biryukov
c89d25560b 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@42747 602fd350-edb4-49c9-b593-d223f7449a82
2018-02-25 20:31:33 +00:00
Sergey Biryukov
cc9a5641a6 Docs: Correct erroneous class references in @see tags.
Props coffee2code.
Fixes #43158.

git-svn-id: https://develop.svn.wordpress.org/trunk@42630 602fd350-edb4-49c9-b593-d223f7449a82
2018-02-01 01:19:50 +00:00
Weston Ruter
07e4b7565e Customize: Ensure media playlists get initialized after selective refresh; expose new wp.playlist.initialize() API.
In particular allows audio and video playlists to be added to the Text widget and previewed.

Props bpayton, westonruter.
See #40854.
Fixes #42495.


git-svn-id: https://develop.svn.wordpress.org/trunk@42613 602fd350-edb4-49c9-b593-d223f7449a82
2018-01-29 23:55:44 +00:00
Weston Ruter
4fb6c02b99 Widgets: Ensure media is explicitly enqueued from Text widget in case Media widgets are unregistered.
Amends [41344].
See #40854.
Fixes #43125.


git-svn-id: https://develop.svn.wordpress.org/trunk@42545 602fd350-edb4-49c9-b593-d223f7449a82
2018-01-22 19:24:02 +00:00
Weston Ruter
8ae0bc51be Widgets: Allow relative/partial URLs in Image Widget's link field.
Props audrasjb.
Amends [41252].
See #41274.
Fixes #42740.


git-svn-id: https://develop.svn.wordpress.org/trunk@42533 602fd350-edb4-49c9-b593-d223f7449a82
2018-01-22 04:51:16 +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
Gary Pendergast
f797c252d9 General: Reformat inline if () statements inside HTML tags.
This pattern occurs a handful of times across the codebase:

`<div class="foo<?php if ( $bar ) { echo ' baz'; } ?>">`

Unfortunately, it doesn't really play nicely with `phpcbf`, so all instances need to be removed in preperation for auto code formatting.

See #41057.



git-svn-id: https://develop.svn.wordpress.org/trunk@42217 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-23 04:08:42 +00:00
Weston Ruter
672eb9206b Widgets: Set global $post to current queried object instead of nullifying when is_singular() while applying filters (and shortcodes) in Text widget and (via plugin) Custom HTML widget.
Also prevent `[gallery]` shortcode from dumping out every attachment on the site when a containing Text widget is shown on an archive template.

Props westonruter, bobbingwide, joemcgill for testing.
See #10457.
Fixes #42548, #42547 for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@42185 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-15 02:26:56 +00:00
Weston Ruter
e26f3b5baf I18N: Fix passing singular/plural strings to JS.
This is a temporary solution while waiting for full I18N support in JS.

Props ocean90, dd32, westonruter, Mirucon for testing.
Amends [41376], [41721], [41389],
See #20491.
Fixes #42510 for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@42163 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-13 07:07:55 +00:00
Weston Ruter
6eacf2f06b Widgets: Prevent showing underlying attachment excerpt as caption when empty caption value is supplied in Image widget.
Allow underlying attachment to display if `caption` is `null`.

Props miyauchi, westonruter.
See #39993.
Fixes #42350.


git-svn-id: https://develop.svn.wordpress.org/trunk@42030 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-27 05:04:04 +00:00
Weston Ruter
5a02f2cd50 Widgets: Limit container-constraining logic in Text widget to video, iframe, object, and embed elements.
Amends [41779].
See #40854.


git-svn-id: https://develop.svn.wordpress.org/trunk@42001 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-24 21:31:16 +00:00
Weston Ruter
d204ba3c00 Widgets: Improve extensibility of the Gallery widget and of media widgets generally.
* Introduce a `widget_{$id_base}_instance_schema` filter for plugins to add new properties to a media widget's instance schema.
* Pass all of a gallery widget's instance props to the gallery media frame, not just the ones that core supports.

See #32417, #41914.
Fixes #42285.


git-svn-id: https://develop.svn.wordpress.org/trunk@41951 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-19 23:43:22 +00:00