Commit Graph

288 Commits

Author SHA1 Message Date
Jonathan Desrosiers
336960897d Build/Test Tools: Introduce automated PHP compatibility checking.
This change introduces a new Composer script, `compat` that will scan the codebase for (detectable) potential PHP compatibility issues using the `PHP_CodeSniffer` and a custom ruleset based off of the `PHPCompayibilityWP` ruleset (`phpcompat.xml.dist`).

The command will be run as a separate job within each Travis build. While many compatibility issues and false positives have already been corrected in this commit and other Trac tickets, there are still some remaining. For that reason, the job is allowed to fail while the remainder of the potential compatibility issues are investigated and addressed. After those are resolved, the job should be set as required to pass to help prevent new compatibility issues from being introduced.

Props desrosj, jrf, all PHPCompatibilityWP and PHPCompatibility contributors.
Fixes #46152.

git-svn-id: https://develop.svn.wordpress.org/trunk@46290 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-25 13:46:55 +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
5928234d05 Date/Time: Introduce get_post_datetime() to retrieve post published or modified time as a DateTimeImmutable object instance.
Introduce `get_post_timestamp()` to retrieve post published or modified time as a Unix timestamp.

Use `get_post_datetime()` in `get_post_time()` and `get_post_modified_time()` to return correct GMT time if default timezone is changed from UTC.

Props Rarst, johnregan3.
Fixes #25002.

git-svn-id: https://develop.svn.wordpress.org/trunk@46154 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-17 11:13:25 +00:00
Sergey Biryukov
26ae8b54d1 Coding Standards: Fix WPCS issue in [46088].
See #47110.

git-svn-id: https://develop.svn.wordpress.org/trunk@46089 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-10 20:00:36 +00:00
Sergey Biryukov
159c78c853 Docs: Fix placement of some duplicate hook references.
Hook documentation should be on the line directly above the line containing the `do_action()` or `apply_filters()` call. 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 duplicate hook references.

Includes minor code layout fixes.

See #47110.

git-svn-id: https://develop.svn.wordpress.org/trunk@46088 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-10 19:22:07 +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
Peter Wilson
122cb2864b #43590: Use robots meta tag to better discourage search engines.
This changes the "discourage search engines" option to output a `noindex, nofollow` robots meta tag. `Disallow: /` is removed from the `robots.txt` to allow search engines to discover they are requested not to index the site.

Disallowing search engines from accessing a site in the `robots.txt` file can result in search engines listing a site with a fragment (a listing without content).

Props donmhico, jonoaldersonwp.
Fixes #43590.



git-svn-id: https://develop.svn.wordpress.org/trunk@45928 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-02 02:26:55 +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
Sergey Biryukov
e961891e1b Taxonomy: In feed_links_extra() and get_the_archive_title(), make sure the queried taxonomy term exists before accessing its properties.
Props donmhico, truchot, zaantar.
Fixes #46420.

git-svn-id: https://develop.svn.wordpress.org/trunk@45817 602fd350-edb4-49c9-b593-d223f7449a82
2019-08-16 00:23:40 +00:00
Sergey Biryukov
beb1d3a7b5 Coding Standards: In wlwmanifest_link(), use concatenation instead of commas for echo, for consistency with rsd_link() and the rest of core.
See #47632.

git-svn-id: https://develop.svn.wordpress.org/trunk@45816 602fd350-edb4-49c9-b593-d223f7449a82
2019-08-16 00:20:58 +00:00
Sergey Biryukov
d19f4d7ff4 Docs: Add missing description for $wp_query and $wp_the_query globals.
Props mukesh27.
See #45604, #47110.

git-svn-id: https://develop.svn.wordpress.org/trunk@45739 602fd350-edb4-49c9-b593-d223f7449a82
2019-08-04 01:58:03 +00:00
Sergey Biryukov
1e6420ba55 Docs: Add missing description for $wp_locale global.
Props mukesh27.
See #45604, #47110.

git-svn-id: https://develop.svn.wordpress.org/trunk@45737 602fd350-edb4-49c9-b593-d223f7449a82
2019-08-04 01:45:03 +00:00
Sergey Biryukov
9c1123fb26 Docs: Add missing description for $wp_rewrite global.
See #45604, #47110.

git-svn-id: https://develop.svn.wordpress.org/trunk@45735 602fd350-edb4-49c9-b593-d223f7449a82
2019-08-04 01:18:54 +00:00
SergeyBiryukov
cb1d21191d Docs: Add missing description for $wpdb, $wp_db_version, and $wp_current_db_version globals.
Props mukesh27, utsav72640, immeet94, SergeyBiryukov.
See #45604.

git-svn-id: https://develop.svn.wordpress.org/trunk@45734 602fd350-edb4-49c9-b593-d223f7449a82
2019-08-04 01:11:01 +00:00
Sergey Biryukov
e5a0610d53 Coding Standards: Rename $r variable used with wp_parse_args() to $parsed_args for clarity.
Props freewebmentor.
Fixes #45059.

git-svn-id: https://develop.svn.wordpress.org/trunk@45667 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-25 00:47:53 +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
Gary Pendergast
ef5a9dfda6 Coding Standards: Fix/ignore the WordPress.NamingConventions.ValidFunctionName violations.
See #47632



git-svn-id: https://develop.svn.wordpress.org/trunk@45580 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-01 08:00:12 +00:00
Sergey Biryukov
10855438ea Date/Time: Replace all instances of date() with gmdate().
Use of `date()` in core depends on PHP timezone set to UTC and not changed by third party code (which cannot be guaranteed).

`gmdate()` is functionally equivalent, but is not affected by PHP timezone setting: it's always UTC, which is the exact behavior the core needs.

Props nielsdeblaauw, Rarst.
Fixes #46438. See #44491.

git-svn-id: https://develop.svn.wordpress.org/trunk@45424 602fd350-edb4-49c9-b593-d223f7449a82
2019-05-26 00:11:37 +00:00
Sergey Biryukov
4812590582 Docs: Correct description for $seplocation parameter of wp_title().
Props mukesh27, vladlu.
Fixes #47370.

git-svn-id: https://develop.svn.wordpress.org/trunk@45406 602fd350-edb4-49c9-b593-d223f7449a82
2019-05-24 22:58:44 +00:00
Sergey Biryukov
7afa6c2057 Login and Registration: Pass the action to site_url() in wp_logout_url() and wp_lostpassword_url():
* Make `site_url` filter in `wp_logout_url()` aware of the `logout` action.
* Make `network_site_url` filter in `wp_lostpassword_url()` aware of the `lostpassword` action.

Props jfarthing84.
Fixes #43407.

git-svn-id: https://develop.svn.wordpress.org/trunk@45398 602fd350-edb4-49c9-b593-d223f7449a82
2019-05-24 01:32:19 +00:00
Sergey Biryukov
a6579d4715 Docs: Adjust get_post_modified_time filter DocBlock for consistency with get_post_time.
See #47110.

git-svn-id: https://develop.svn.wordpress.org/trunk@45380 602fd350-edb4-49c9-b593-d223f7449a82
2019-05-23 00:40:08 +00:00
Sergey Biryukov
2a163fa733 Date/Time: Return early from the_weekday() and the_weekday_date() if we're not in the loop.
Restore `$previousweekday` global usage in `the_weekday_date()`, so it could still be used simultaneously with `the_date()`.

Partially reverts [45378].
See #47354.

git-svn-id: https://develop.svn.wordpress.org/trunk@45379 602fd350-edb4-49c9-b593-d223f7449a82
2019-05-23 00:37:56 +00:00
Sergey Biryukov
48fb69f013 Date/Time: Bring some consistency to the_date() and the_weekday_date():
* Make `the_date()` always apply the the filter and return a value.
* Use `is_new_day()` in `the_weekday_date()`.
* Add a unit test for `the_weekday_date()`.

Fixes #47354.

git-svn-id: https://develop.svn.wordpress.org/trunk@45378 602fd350-edb4-49c9-b593-d223f7449a82
2019-05-22 21:57:29 +00:00
Sergey Biryukov
36df800c3c Docs: Improve documentation for the_date() and the_weekday_date().
Correct type for `$currentday` and `$previousday` globals.

See #47354, #47110.

git-svn-id: https://develop.svn.wordpress.org/trunk@45377 602fd350-edb4-49c9-b593-d223f7449a82
2019-05-22 21:47:49 +00:00
Sergey Biryukov
dc2e521269 Accessibility: In back-compat code added for get_search_form() in [44956], when checking the (previously boolean) $args value, account for non-strict comparison.
Props dkarfa, sachyya-sachet.
Fixes #47177. See #42057.

git-svn-id: https://develop.svn.wordpress.org/trunk@45340 602fd350-edb4-49c9-b593-d223f7449a82
2019-05-17 02:21:20 +00:00
Gary Pendergast
11e97aae1e Emoji: Update Twemoji to version 12.0.0.
Props pento, superpoincare.
Fixes #46404, #46805.


git-svn-id: https://develop.svn.wordpress.org/trunk@45134 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-08 05:21:49 +00:00
John Blackbourn
60a92eb070 Themes: Introduce a generic action that's fired when a template part is loaded.
This action allows debugging mechanisms to perform greater introspection into which template parts are loaded for any given request. It also exposes the array of candidate template part file names for each template part instance.

Props pcfreak30, jdeeburke

Fixes #41575


git-svn-id: https://develop.svn.wordpress.org/trunk@45059 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-28 21:12:20 +00:00
Adam Silverstein
01882f477b Bundled Theme: trigger a new wp_body_open action immediately after the opening body tag.
* Enables inserting (asynchronous) JavaScript right after the opening `body` tag.
* Add a `wp_body_open` helper function that triggers the `wp_body_open` action.
* Call `wp_body_open` in core themes immediately after the opening `body` tag.

Props joostdevalk, valendesigns, nacin, saracup, jorbin, mikeschinkel, jonnybojangles, lgedeon, Willscrlt, Denis-de-Bernardy, lexiqueen, sky_76, welcher, westonruter, ramiy, joyously.
Fixes #12563.


git-svn-id: https://develop.svn.wordpress.org/trunk@45042 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 21:58:38 +00:00
Sergey Biryukov
7ad9fb7e7c Themes: Remove itemprop="url" from get_custom_logo() output.
Making incorrect assumptions about microdata used in a theme results in invalid markup.

The attribute can still be added using the `get_custom_logo` or `wp_get_attachment_image_attributes` filter, but it should not be added by default.

Props henry.wright, tfrommen, afercia, markcallen, zodiac1978.
Fixes #37305.

git-svn-id: https://develop.svn.wordpress.org/trunk@45028 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 12:15:15 +00:00
Sergey Biryukov
fb93cedcd8 Accessibility: Add ability to pass an ARIA label for the <form> element returned by get_search_form().
This allows screen readers to properly announce each search landmark region independently.

Introduce `search_form_args` filter for the arguments used when generating the search form.

Props afercia, williampatton.
Fixes #42057.

git-svn-id: https://develop.svn.wordpress.org/trunk@44956 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 09:19:14 +00:00
Sergey Biryukov
8ba2c45029 Docs: Add a @since tag for the new $selected parameter of get_archives_link().
See #40662.

git-svn-id: https://develop.svn.wordpress.org/trunk@44898 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-14 19:36:44 +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
Sergey Biryukov
4b10390b7d Date/Time: Reduce explicit local current_time( 'timestamp' ) usage in favor of native PHP functions.
Timestamps don't carry any timezone information, using the intended format directly simplifies the logic and makes the code less confusing.

Props Rarst, jdgrimes.
See #40657.

git-svn-id: https://develop.svn.wordpress.org/trunk@44809 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-07 09:11:37 +00:00
Jonathan Desrosiers
666d713c1b Themes: Revert returning the value of locate_template() in functions that call it.
Because the names of the `get_header()`, `get_footer()`, `get_sidebar()`, and `get_template_part()` functions indicate that a value is returned, some plugins and themes already have `echo get_template_part()` in their codebase. Adding a return value to these functions using the approach in [44678] will cause the two unintended side effects of unexpected content being sent to the browser, and accidental path disclosure.

Reverts [44678].

Props davidbinda.
See #40969.

git-svn-id: https://develop.svn.wordpress.org/trunk@44725 602fd350-edb4-49c9-b593-d223f7449a82
2019-02-06 18:36:49 +00:00
Gary Pendergast
f91ac658fe Themes: Return the value of locate_template() in functions that call it.
The `get_header()`, `get_footer()`, `get_sidebar()`, and `get_template_part()` functions all call `locate_template()` as their final action, which returns the name of the template being loaded. Returning this value helps handle problems with templates being loaded.

Props tferry.
Fixes #40969.



git-svn-id: https://develop.svn.wordpress.org/trunk@44678 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-21 21:59:44 +00:00
Gary Pendergast
d3ee420c14 Emoji: Upgrade Twemoji to 11.2.0.
This upgrade includes general improvements to the style of a variety of emoji.

Full changelog: https://github.com/twitter/twemoji/compare/v11.0.0...v11.2.0

Props desrosj, pento.
Fixes #45133.



git-svn-id: https://develop.svn.wordpress.org/trunk@44644 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-18 01:41:41 +00:00
Gary Pendergast
b71875d25e Docs: Partial revert of [44636].
Unrelated changes in `wp-includes/general-template.php` were accidentally committed.

See #44502.



git-svn-id: https://develop.svn.wordpress.org/trunk@44638 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-17 07:56:32 +00:00
Gary Pendergast
15f4df2af6 Docs: Mark the internal functions as @private in wp-includes/post.php.
Props shamim51.
Fixes #44502.



git-svn-id: https://develop.svn.wordpress.org/trunk@44636 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-17 07:20:16 +00:00
Gary Pendergast
bcba20dd2b Docs: Fix the last handful of incorrect @since 5.0.0 docblock tags.
Props peterwilsoncc.
Fixes #45543.



git-svn-id: https://develop.svn.wordpress.org/trunk@44635 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-17 06:45:58 +00:00
Jonathan Desrosiers
425b59c048 Docs: Update inaccurate return descriptions.
In the `@return` tag description for `get_post_modified_time()`, `get_the_time()`, and `get_post_time()`, the `$d` parameter is incorrectly referred to as `$id`.

Props behzod.
Fixes #45323.

git-svn-id: https://develop.svn.wordpress.org/trunk@44592 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-15 02:07:41 +00:00
Gary Pendergast
33caf61b8b Coding Standards: Fix the Squiz.ControlStructures.ControlSignature.SpaceAfterCloseBrace violations.
See #45934.



git-svn-id: https://develop.svn.wordpress.org/trunk@44566 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-11 06:39:55 +00:00
Gary Pendergast
83af0329a2 Coding Standards: Document intentional case block fall-throughs.
Fixes `PSR2.ControlStructures.SwitchDeclaration.TerminatingComment` violations.

See #45934.



git-svn-id: https://develop.svn.wordpress.org/trunk@44565 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-11 06:25:37 +00:00
Jonathan Desrosiers
96a6ed10dc Administration: Update default fallback color for SVG icons.
Currently, when an SVG is used as a menu icon, the color is inconsistent with the other, default dashicons and the contrast ratio does not meet the minimum requirement for accessibility.

This updates the base color for the default `fresh` color scheme to ensure consistency and proper contrast.

Props swift, dschalk.
Fixes #44209.

git-svn-id: https://develop.svn.wordpress.org/trunk@44353 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-20 19:00:39 +00:00
Jeremy Felt
f7b3c32a57 REST API: Render response in user locale with ?_locale=user.
Introduces new `determine_locale()` function for deciding the proper locale to use for a response. Default value is `get_user_locale()` in the admin, and `get_locale()` on the frontend. Because REST API requests are considered frontend requests, `?_locale=user` can be used to render the response in the user's locale.

Also updates `wp-login.php?wp_lang` implementation to benefit from this abstraction.

Merges [43776] from the 5.0 branch to trunk.

Props flixos90, mnelson4, swissspidy, TimothyBlynJacobs.
Fixes #44758.


git-svn-id: https://develop.svn.wordpress.org/trunk@44134 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-14 01:31:27 +00:00
Jonathan Desrosiers
09b9302705 General: Extract the code editor settings from wp_enqueue_code_editor().
They're now returned by a new function, `wp_get_code_editor_settings()`, so they can be reused by the block editor.

Props pento.

Merges [43761] to trunk.

Fixes #45127.

git-svn-id: https://develop.svn.wordpress.org/trunk@44121 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-13 20:11:09 +00:00
Peter Wilson
b5bfe2bd82 Multisite: Improve messaging for previously activated users.
Ensure activation of a site is not attempted multiple times and users are shown the correct message if they follow the link a second time.


git-svn-id: https://develop.svn.wordpress.org/trunk@44021 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-13 00:22:03 +00:00
Sergey Biryukov
9364b6ed87 Date/Time: Make get_the_date() call get_post_time() for consistency with get_the_time().
Props Rarst.
Fixes #44490.

git-svn-id: https://develop.svn.wordpress.org/trunk@43591 602fd350-edb4-49c9-b593-d223f7449a82
2018-08-30 08:49:40 +00:00
John Blackbourn
5af7160563 Docs: Correct and improve various inline documentation.
See #42505


git-svn-id: https://develop.svn.wordpress.org/trunk@43582 602fd350-edb4-49c9-b593-d223f7449a82
2018-08-27 14:27:22 +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
Gary Pendergast
cdd9910f01 Emoji: Update Twemoji to version 11.0.
🦹

Props kraftbj,
Fixes #44339.



git-svn-id: https://develop.svn.wordpress.org/trunk@43377 602fd350-edb4-49c9-b593-d223f7449a82
2018-06-20 04:20:32 +00:00