WordPress/wp-includes
Boone Gorges 05fa2363ab Posts: Avoid the use of globals in `get_the_content()` and related functions.
This changeset introduces `$post` parameters to `get_the_content()` and
`wp_trim_excerpt()`. When a `$post` object is passed to one of these functions,
the functions will operate on the data from that object, rather than from the
post globals (`$authordata`, `$page`, etc). This ensures that the functions work
in a predictable manner when used outside of the regular post loop.

The global-mismatch problem is surfaced in cases where `get_the_excerpt()` is
called outside of the post loop, on posts that don't have a defined excerpt. In
these cases, the post globals - used to generate a fallback excerpt - may refer
to the incorrect object, resulting in PHP notices or other unpredictable
behavior. See #36934 for a related issue.

Props spacedmonkey, kraftbj, Shital Patel.
Fixes #42814.
Built from https://develop.svn.wordpress.org/trunk@44941


git-svn-id: http://core.svn.wordpress.org/trunk@44772 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-20 15:49:49 +00:00
..
ID3 Media: update the `getID3` library to version `1.9.14` to avoid fatal errors in PHP7. 2017-07-31 19:50:45 +00:00
IXR XML-RPC: Add default values to IXR_Message for PHP 7.2 compatibility to avoid PHP Warnings. 2018-02-06 02:56:32 +00:00
Requests
SimplePie
Text External Libraries: Remove usage of `each()` from the `Text_Diff_Engine_native` class. 2017-10-26 12:52:53 +00:00
blocks Date/Time: Reduce explicit local `current_time( 'timestamp' )` usage in favor of native PHP functions. 2019-03-07 09:12:51 +00:00
certificates
css Administration: Update Dashicons to the latest version. 2019-03-20 15:44:00 +00:00
customize Accessibility: Replace media placeholder clickable divs with buttons. 2019-03-05 17:49:52 +00:00
fonts Administration: Update Dashicons to the latest version. 2019-03-20 15:44:00 +00:00
images Build: Update images following [43684]. 2018-12-19 03:36:27 +00:00
js TinyMCE: fix the TinyMCE help modal keyboard shortcut on Mac for the classic editor and classic block. 2019-03-15 21:43:50 +00:00
pomo Docs: Correct the docs for `POMO_Reader::setEndian()`. 2019-01-16 05:36:48 +00:00
random_compat External Libraries: Update Random_Compat from 1.2.1 to 2.0.11. 2017-11-08 11:48:49 +00:00
rest-api REST API: Remove unused attachments controller method. 2019-03-19 03:28:51 +00:00
theme-compat Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:51:36 +00:00
widgets Widgets: Pre-select currently viewed archive in the Archives dropdown widget, for consistency with the Categories widget. 2019-03-14 19:31:49 +00:00
admin-bar.php Accessibility: Improve the Comments and Privacy count text. 2019-03-18 15:22:53 +00:00
atomlib.php General: Remove most uses of create_function() 2016-12-13 01:49:39 +00:00
author-template.php Templates: Fix the return value of `get_the_author_posts_link()`. 2019-01-16 05:54:49 +00:00
blocks.php Blocks: Add a `$source_block` parameter to the `render_block_data` filter. 2019-01-14 01:47:51 +00:00
bookmark-template.php Docs: Remove duplicate docblocks for the `pre_user_login` and `link_category` filters. 2019-01-16 05:29:49 +00:00
bookmark.php General: Fix problematic string to array parsing. 2019-01-10 21:06:49 +00:00
cache.php Docs: Correct various spelling mistakes. 2019-03-13 19:32:53 +00:00
canonical.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:51:36 +00:00
capabilities.php Bootstrap/Load: Revert fatal error recovery mechanism from 5.1 to polish for 5.2. 2019-01-30 11:01:52 +00:00
category-template.php Coding Standards: Remove an unnecessary line whitelisting. 2019-01-12 04:53:51 +00:00
category.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:51:36 +00:00
class-IXR.php
class-feed.php Code is Poetry. 2017-11-30 23:11:00 +00:00
class-http.php Docs: Update `since` annotation for new `$url` parameter for several HTTP related filters. 2019-01-04 21:58:51 +00:00
class-json.php Docs: Correct various spelling mistakes. 2019-03-13 19:32:53 +00:00
class-oembed.php Embeds: Remove Photobucket, FunnyOrDie from the list of oEmbed providers. 2019-01-10 22:42:51 +00:00
class-phpass.php
class-phpmailer.php Update PHPMailer to 5.2.22. 2017-01-11 01:23:41 +00:00
class-pop3.php
class-requests.php
class-simplepie.php
class-smtp.php Docs: Correct various spelling mistakes. 2019-03-13 19:32:53 +00:00
class-snoopy.php
class-walker-category-dropdown.php Code is Poetry. 2017-11-30 23:11:00 +00:00
class-walker-category.php Taxonomy: Escape CSS classes in `Walker_Category::start_el()` after the `category_css_class` filter runs. 2019-01-07 12:54:48 +00:00
class-walker-comment.php Comments: Update the message shown when a comment is awaiting moderation. 2019-01-21 22:46:49 +00:00
class-walker-nav-menu.php Docs: Correct and improve various inline documentation. 2018-03-25 19:35:29 +00:00
class-walker-page-dropdown.php Docs: Correctly specify the `$page` parameter of `list_pages` filter as a `WP_Post`. 2018-12-20 20:04:50 +00:00
class-walker-page.php Accessibility: Themes: use `aria-current` for the `Walker_Page` current link. 2019-01-07 13:36:50 +00:00
class-wp-admin-bar.php Accessibility: Hide the Toolbar sub-menu CSS generated icons from assistive technologies. 2019-03-04 22:46:52 +00:00
class-wp-ajax-response.php Code is Poetry. 2017-11-30 23:11:00 +00:00
class-wp-block-parser.php Block Editor: Update WordPress Packages to solve PHP 5.2.2 parser incompatibility. 2019-02-07 09:02:49 +00:00
class-wp-block-type-registry.php Blocks: Introduce `WP_Block_Type` and `WP_Block_Type_Registry` classes. 2018-12-13 09:44:23 +00:00
class-wp-block-type.php REST API: Preserve unknown, respect `null` in server-side block rendering. 2018-12-17 18:00:52 +00:00
class-wp-comment-query.php Coding Standards: Fix and whitelist variable names. 2019-01-12 06:06:48 +00:00
class-wp-comment.php Docs: Remove `@static` notations from method DocBlocks in `wp-includes/*` classes. 2018-02-25 20:22:30 +00:00
class-wp-customize-control.php Docs: Remove `@static` notations from property DocBlocks in `wp-admin/*` and `wp-includes/*` classes. 2018-02-25 20:32:30 +00:00
class-wp-customize-manager.php Replace usages of basename() with wp_basename() in order to support multibyte filenames 2019-03-01 20:58:52 +00:00
class-wp-customize-nav-menus.php Customizer: Remove a line of commented-out code in `WP_Customize_Nav_Menus::customize_register()`. 2018-12-19 07:23:47 +00:00
class-wp-customize-panel.php Docs: Remove `@static` notations from property DocBlocks in `wp-admin/*` and `wp-includes/*` classes. 2018-02-25 20:32:30 +00:00
class-wp-customize-section.php Docs: Remove `@static` notations from property DocBlocks in `wp-admin/*` and `wp-includes/*` classes. 2018-02-25 20:32:30 +00:00
class-wp-customize-setting.php General: Introduce `WP_Error::has_errors()` method and use it where appropriate. 2018-02-27 02:31:31 +00:00
class-wp-customize-widgets.php Accessibility: Customize: Improve the widgets search and the widget Remove button. 2019-03-09 12:56:54 +00:00
class-wp-dependency.php Docs: Add missing documentation for `_WP_Dependency::set_translations()`. 2019-01-15 22:48:51 +00:00
class-wp-editor.php Editor: Fix name of the new editor for inline comment. 2019-01-05 03:48:50 +00:00
class-wp-embed.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:51:36 +00:00
class-wp-error.php Docs: Update `since` annotations `WP_Error::has_errors()` 2019-01-09 22:42:51 +00:00
class-wp-feed-cache-transient.php Code is Poetry. 2017-11-30 23:11:00 +00:00
class-wp-feed-cache.php Code is Poetry. 2017-11-30 23:11:00 +00:00
class-wp-hook.php Docs: Remove `@static` notations from method DocBlocks in `wp-includes/*` classes. 2018-02-25 20:22:30 +00:00
class-wp-http-cookie.php Code is Poetry. 2017-11-30 23:11:00 +00:00
class-wp-http-curl.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:51:36 +00:00
class-wp-http-encoding.php Docs: Remove `@static` notations from method DocBlocks in `wp-includes/*` classes. 2018-02-25 20:22:30 +00:00
class-wp-http-ixr-client.php Docs: Document more parameters and properties using typed array notation. 2018-03-25 19:33:31 +00:00
class-wp-http-proxy.php Code is Poetry. 2017-11-30 23:11:00 +00:00
class-wp-http-requests-hooks.php Code is Poetry. 2017-11-30 23:11:00 +00:00
class-wp-http-requests-response.php Code is Poetry. 2017-11-30 23:11:00 +00:00
class-wp-http-response.php HTTP API: Use `WP_HTTP_Response::set_data()` in `::__construct()` instead of directly accessing the `$data` property. 2017-10-03 15:18:46 +00:00
class-wp-http-streams.php Docs: Update `since` annotation for new `$url` parameter for several HTTP related filters. 2019-01-04 21:58:51 +00:00
class-wp-image-editor-gd.php Docs: Add missing periods to `param` annotations for `flip()` in `WP_Image_Editor_GD`. 2019-01-10 22:10:50 +00:00
class-wp-image-editor-imagick.php Docs: Remove `@static` notations from method DocBlocks in `wp-includes/*` classes. 2018-02-25 20:22:30 +00:00
class-wp-image-editor.php Docs: Remove `@static` notations from method DocBlocks in `wp-includes/*` classes. 2018-02-25 20:22:30 +00:00
class-wp-list-util.php General: Allow `wp_list_pluck()` to operate on arrays of references without overwriting the referenced items. 2018-01-18 05:18:31 +00:00
class-wp-locale-switcher.php REST API: Render response in user locale with `?_locale=user`. 2018-12-14 01:32:39 +00:00
class-wp-locale.php Coding Standards: Fix the `Squiz.ControlStructures.ControlSignature.SpaceAfterCloseBrace` violations. 2019-01-11 06:40:50 +00:00
class-wp-matchesmapregex.php Docs: Remove `@static` notations from method DocBlocks in `wp-includes/*` classes. 2018-02-25 20:22:30 +00:00
class-wp-meta-query.php Docs: Update `since` annotations for adding `LIKE` comparisons with meta keys. 2019-01-09 14:55:49 +00:00
class-wp-metadata-lazyloader.php Docs: Correct and improve various inline documentation. 2018-03-25 19:35:29 +00:00
class-wp-network-query.php PHP7.3 compatibility: Fix compact throwing notices. 2018-12-14 05:13:52 +00:00
class-wp-network.php Docs: Document more parameters and properties using typed array notation. 2018-03-25 19:33:31 +00:00
class-wp-oembed-controller.php Embeds: Filter HTML response in oEmbed proxy controller. 2018-12-14 03:20:37 +00:00
class-wp-post-type.php Docs: Remove `@access` notations from method DocBlocks in wp-includes/* classes. 2017-07-27 00:41:44 +00:00
class-wp-post.php Coding Standards: Use strict comparison in `WP_Post` where possible. 2019-03-15 21:55:50 +00:00
class-wp-query.php Posts: Avoid the use of globals in `get_the_content()` and related functions. 2019-03-20 15:49:49 +00:00
class-wp-rewrite.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:51:36 +00:00
class-wp-role.php Docs: Document more parameters and properties using typed array notation. 2018-03-25 19:33:31 +00:00
class-wp-roles.php Docs: Document `WP_Roles` properties with typed array notation. 2018-03-22 18:56:33 +00:00
class-wp-session-tokens.php Docs: Correct and improve docblocks for user session management functionality. 2018-09-14 13:45:26 +00:00
class-wp-simplepie-file.php Code is Poetry. 2017-11-30 23:11:00 +00:00
class-wp-simplepie-sanitize-kses.php Code is Poetry. 2017-11-30 23:11:00 +00:00
class-wp-site-query.php Multisite: Update `@since` tags for site meta introduction. 2019-01-08 08:18:50 +00:00
class-wp-site.php Docs: Remove `@static` notations from method DocBlocks in `wp-includes/*` classes. 2018-02-25 20:22:30 +00:00
class-wp-tax-query.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:51:36 +00:00
class-wp-taxonomy.php Taxonomy: Update `@since` annotations for `meta_box_sanitize_cb` arg. 2019-01-09 15:11:48 +00:00
class-wp-term-query.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:51:36 +00:00
class-wp-term.php Docs: Remove `@static` notations from method DocBlocks in `wp-includes/*` classes. 2018-02-25 20:22:30 +00:00
class-wp-text-diff-renderer-inline.php Code is Poetry. 2017-11-30 23:11:00 +00:00
class-wp-text-diff-renderer-table.php Coding Standards: Fix the `Squiz.ControlStructures.ControlSignature.SpaceAfterCloseBrace` violations. 2019-01-11 06:40:50 +00:00
class-wp-theme.php Bootstrap/Load: Revert fatal error recovery mechanism from 5.1 to polish for 5.2. 2019-01-30 11:01:52 +00:00
class-wp-user-meta-session-tokens.php Docs: Add `@see WP_Session_Tokens` to the `WP_User_Meta_Session_Tokens` docblock. 2019-01-09 05:04:50 +00:00
class-wp-user-query.php Docs: Correct `@since` tag for `users_pre_query` filter added in [44373]. 2019-01-07 07:56:50 +00:00
class-wp-user.php Users: Add `LIMIT 1` to SQL query in `WP_User::get_data_by()`, as only one row is requested. 2018-09-23 15:33:24 +00:00
class-wp-walker.php Code is Poetry. 2017-11-30 23:11:00 +00:00
class-wp-widget-factory.php Code is Poetry. 2017-11-30 23:11:00 +00:00
class-wp-widget.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:51:36 +00:00
class-wp-xmlrpc-server.php Coding Standards: Fix the `Squiz.ControlStructures.ControlSignature.SpaceAfterCloseBrace` violations. 2019-01-11 06:40:50 +00:00
class-wp.php Multisite: Validate activation links. 2018-12-13 01:26:24 +00:00
class.wp-dependencies.php Docs: Document that the `$src` parameter of `WP_Dependencies::add()` can be boolean. 2018-09-28 21:51:24 +00:00
class.wp-scripts.php I18N/Script Loader: Support text domains other than "messages". 2019-01-06 16:23:49 +00:00
class.wp-styles.php Script/Style Dependencies: Simplify some logic in `WP_Styles::do_item()`. 2018-08-11 17:42:24 +00:00
comment-template.php Docs: Correct various spelling mistakes. 2019-03-13 19:32:53 +00:00
comment.php Comments: Improve comment content filtering. 2019-03-12 22:30:50 +00:00
compat.php General: In the `is_countable()` polyfill, if the provided object implements `SimpleXMLElement` or `ResourceBundle`, consider it countable. 2018-05-10 17:58:22 +00:00
cron.php Cron: Ensure identical single events aren't scheduled less than 10min apart. 2019-03-16 06:42:50 +00:00
date.php Docs: Correct and improve various inline documentation. 2018-03-25 19:35:29 +00:00
default-constants.php Bundled Themes: Make twentynineteen the default theme. 2018-12-14 02:49:38 +00:00
default-filters.php Posts: Avoid the use of globals in `get_the_content()` and related functions. 2019-03-20 15:49:49 +00:00
default-widgets.php Widgets: Introduce Gallery widget for displaying image galleries. 2017-09-25 06:28:45 +00:00
deprecated.php Replace usages of basename() with wp_basename() in order to support multibyte filenames 2019-03-01 20:58:52 +00:00
embed-template.php
embed.php Multisite: Do not prime site meta caches unless necessary. 2019-03-18 15:56:51 +00:00
feed-atom-comments.php Coding Standards: Upgrade WPCS to 1.2.1. 2019-01-12 06:41:52 +00:00
feed-atom.php Coding Standards: Upgrade WPCS to 1.2.1. 2019-01-12 06:41:52 +00:00
feed-rdf.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:51:36 +00:00
feed-rss.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:51:36 +00:00
feed-rss2-comments.php Coding Standards: Upgrade WPCS to 1.2.1. 2019-01-12 06:41:52 +00:00
feed-rss2.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:51:36 +00:00
feed.php Docs: Remove erroneous zero-width space before URL in `fetch_feed()` DocBlock. 2017-12-21 02:40:54 +00:00
formatting.php Posts: Avoid the use of globals in `get_the_content()` and related functions. 2019-03-20 15:49:49 +00:00
functions.php General: Improve the PHP update notice annotation. 2019-03-19 16:54:52 +00:00
functions.wp-scripts.php I18N: Make domain argument optional in `wp_set_script_translations()` / `WP_Scripts::set_translations()`. 2019-01-04 21:12:50 +00:00
functions.wp-styles.php Docs: Fix typo in `wp_add_inline_script()` and `wp_add_inline_style()` description. 2018-12-20 02:42:48 +00:00
general-template.php Docs: Add a `@since` tag for the new `$selected` parameter of `get_archives_link()`. 2019-03-14 19:37:51 +00:00
http.php HTTP: Don't treat `localhost` as same host by default. 2018-04-03 15:00:31 +00:00
kses.php Docs: Update `since` annotation for `text-transform` support in `safecss_filter_attr()`. 2019-01-10 01:43:49 +00:00
l10n.php I18N: Add `$domain` argument to `translate_user_role()`. 2019-03-11 20:32:52 +00:00
link-template.php Date/Time: Reduce explicit local `current_time( 'timestamp' )` usage in favor of native PHP functions. 2019-03-07 09:12:51 +00:00
load.php Bootstrap/Load: Revert fatal error recovery mechanism from 5.1 to polish for 5.2. 2019-01-30 11:01:52 +00:00
locale.php Load: No-op `locale.php` 2016-12-03 04:16:38 +00:00
media-template.php Accessibility: improve the "URL" and "Alt text" fields in the media modals. 2019-03-15 10:43:51 +00:00
media.php Replace usages of basename() with wp_basename() in order to support multibyte filenames 2019-03-01 20:58:52 +00:00
meta.php REST API: Move object type-specific metadata integrations from the wrapper functions to the low-level Meta API functions. 2018-12-12 03:02:24 +00:00
ms-blogs.php Multisite: Do not prime site meta caches unless necessary. 2019-03-18 15:56:51 +00:00
ms-default-constants.php Code is Poetry. 2017-11-30 23:11:00 +00:00
ms-default-filters.php Multisite: Move site-specific metadata integrations from the wrapper functions to the low-level Meta API functions. 2019-01-08 08:48:48 +00:00
ms-deprecated.php Multisite: Update `@since` tags for site management APIs. 2019-01-08 08:58:49 +00:00
ms-files.php Code is Poetry. 2017-11-30 23:11:00 +00:00
ms-functions.php Multisite: Do not prime site meta caches unless necessary. 2019-03-18 15:56:51 +00:00
ms-load.php Multisite: Do not prime site meta caches unless necessary. 2019-03-18 15:56:51 +00:00
ms-network.php Multisite: Introduce `ms-site.php` and `ms-network.php` files. 2019-01-08 09:15:49 +00:00
ms-settings.php Code is Poetry. 2017-11-30 23:11:00 +00:00
ms-site.php Multisite: Ensure site meta caches are not primed unless the `wp_blogmeta` table is available. 2019-03-18 15:49:00 +00:00
nav-menu-template.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:51:36 +00:00
nav-menu.php Nav Menus: Fix a PHP 7.3 error when switching themes. 2018-12-14 05:16:52 +00:00
option.php Options: Avoid unnecessary DB calls when updating network options. 2019-01-21 04:27:51 +00:00
pluggable-deprecated.php
pluggable.php Docs: Improve wording in a comment in `wp_set_current_user()`. 2019-03-11 10:57:55 +00:00
plugin.php Code is Poetry. 2017-11-30 23:11:00 +00:00
post-formats.php Post Formats: Don't assign a variable inside `if` statement in `get_post_format()`. 2018-08-30 09:01:25 +00:00
post-template.php Posts: Avoid the use of globals in `get_the_content()` and related functions. 2019-03-20 15:49:49 +00:00
post-thumbnail-template.php Media: Introduce the `has_post_thumbnail` filter. 2019-01-10 15:28:50 +00:00
post.php Replace usages of basename() with wp_basename() in order to support multibyte filenames 2019-03-01 20:58:52 +00:00
query.php Posts: Avoid the use of globals in `get_the_content()` and related functions. 2019-03-20 15:49:49 +00:00
registration-functions.php Code is Poetry. 2017-11-30 23:11:00 +00:00
registration.php Code is Poetry. 2017-11-30 23:11:00 +00:00
rest-api.php REST API: Ensure "Allow" header is returned for OPTIONS requests. 2019-03-19 03:22:51 +00:00
revision.php Posts: Set a HTTP 403 error when an incorrect post preview nonce is sent. 2019-01-16 03:54:50 +00:00
rewrite.php Code is Poetry. 2017-11-30 23:11:00 +00:00
rss-functions.php Code is Poetry. 2017-11-30 23:11:00 +00:00
rss.php
script-loader.php Block Editor: Fix unit tests after new blocks addition. 2019-03-07 11:54:51 +00:00
session.php Code is Poetry. 2017-11-30 23:11:00 +00:00
shortcodes.php Docs: Correct parameter name in `strip_shortcodes_tagnames` filter DocBlock. 2018-08-02 15:13:27 +00:00
spl-autoload-compat.php General: Move the `__autoload()` compat function into its own file to prevent deprecated notices being thrown by the compiler in PHP 7.2. 2017-07-28 01:15:52 +00:00
taxonomy.php Docs: Correct various spelling mistakes. 2019-03-13 19:32:53 +00:00
template-loader.php Bootstrap/Load: Introduce fatal error recovery mechanism allowing users to still log in to their admin dashboard. 2019-01-09 20:05:49 +00:00
template.php Coding Standards: Extract `extract()` from the codebase. 2019-01-12 03:20:48 +00:00
theme.php Docs: Correct various spelling mistakes. 2019-03-13 19:32:53 +00:00
update.php Docs: Add documentation for the `wp_maybe_auto_update` action. 2019-01-16 03:38:49 +00:00
user.php General: Ensure error messages end with a period for consistency. 2019-03-19 02:37:52 +00:00
vars.php Code is Poetry. 2017-11-30 23:11:00 +00:00
version.php Posts: Avoid the use of globals in `get_the_content()` and related functions. 2019-03-20 15:49:49 +00:00
widgets.php Docs: Improve documentation of the ``$wp_registered_sidebars` global. 2019-01-14 23:01:49 +00:00
wlwmanifest.xml
wp-db.php Docs: Remove unnecessary `@see` tag in `wpdb::prepare()`. 2019-03-15 11:18:50 +00:00
wp-diff.php Code is Poetry. 2017-11-30 23:11:00 +00:00