WordPress/wp-admin/includes
Sergey Biryukov 2ec23a82ed Code Modernization: Replace usage of strpos() with str_starts_with().
`str_starts_with()` was introduced in PHP 8.0 to perform a case-sensitive check indicating if the string to search in (haystack) begins with the given substring (needle).

WordPress core includes a polyfill for `str_starts_with()` on PHP < 8.0 as of WordPress 5.9.

This commit replaces `0 === strpos( ... )` with `str_starts_with()` in core files, making the code more readable and consistent, as well as improving performance.

While `strpos()` is slightly faster than the polyfill on PHP < 8.0, `str_starts_with()` is noticeably faster on PHP 8.0+, as it is optimized to avoid unnecessarily searching along the whole haystack if it does not find the needle.

Follow-up to [52039], [52040], [52326].

Props spacedmonkey, costdev, sabernhardt, mukesh27, desrosj, jorbin, TobiasBg, ayeshrajans, lgadzhev, SergeyBiryukov.
Fixes #58012.
Built from https://develop.svn.wordpress.org/trunk@55703


git-svn-id: http://core.svn.wordpress.org/trunk@55215 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-05-02 15:45:22 +00:00
..
admin-filters.php Editor: Refresh nones for metaboxes after reauthentication. 2022-09-11 20:46:10 +00:00
admin.php I18N: Always pass $locale to load_textdomain(). 2022-11-10 19:40:11 +00:00
ajax-actions.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
bookmark.php Coding Standards: Always use parentheses when instantiating an object. 2022-11-29 15:51:14 +00:00
class-automatic-upgrader-skin.php Code Modernization: Fix reserved keyword and parameter name mismatches for parent/child classes in WP_Upgrader_Skin::feedback(). 2021-09-09 13:48:56 +00:00
class-bulk-plugin-upgrader-skin.php Code Modernization: Explicitly declare all properties in WP_Ajax_Upgrader_Skin. 2022-08-29 12:46:10 +00:00
class-bulk-theme-upgrader-skin.php Code Modernization: Explicitly declare all properties in WP_Ajax_Upgrader_Skin. 2022-08-29 12:46:10 +00:00
class-bulk-upgrader-skin.php Code Modernization: Fix parameter name mismatches for parent/child classes in WP_Upgrader_Skin::error(). 2021-09-09 13:59:56 +00:00
class-core-upgrader.php Administration: Replace "can not" with "cannot" after [53131]. 2022-04-11 11:50:01 +00:00
class-custom-background.php Help/About: Use the new /documentation/ URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
class-custom-image-header.php Help/About: Use the new /documentation/ URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
class-file-upload-upgrader.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
class-ftp-pure.php Docs: Update URLs in some @link tags and switch them to HTTPS. 2019-11-01 14:57:02 +00:00
class-ftp-sockets.php Administration: Replace contracted verb forms for better consistency. 2022-03-22 16:25:03 +00:00
class-ftp.php Code Modernization: Rename parameters that use reserved keywords in wp-admin/includes/class-ftp.php. 2022-03-26 15:28:08 +00:00
class-language-pack-upgrader-skin.php Code Modernization: Fix parameter name mismatches for parent/child classes in WP_Upgrader_Skin::error(). 2021-09-09 13:59:56 +00:00
class-language-pack-upgrader.php Coding Standards: Always use parentheses when instantiating an object. 2022-11-29 15:51:14 +00:00
class-pclzip.php Filesystem API: Make sure to only call fread() on non-empty files in PclZip::privAddFile(). 2021-08-29 01:33:58 +00:00
class-plugin-installer-skin.php Docs: Clarify the ::hide_process_failed() return value in plugin and theme installer. 2023-03-27 15:11:20 +00:00
class-plugin-upgrader-skin.php Text Changes: Unify various "Back to..." vs. "Return to..." vs. "Go to..." strings. 2020-11-09 10:53:10 +00:00
class-plugin-upgrader.php Code Modernization: Replace phpversion() function calls with PHP_VERSION constant. 2022-05-20 17:38:14 +00:00
class-theme-installer-skin.php Docs: Clarify the ::hide_process_failed() return value in plugin and theme installer. 2023-03-27 15:11:20 +00:00
class-theme-upgrader-skin.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
class-theme-upgrader.php Code Modernization: Replace phpversion() function calls with PHP_VERSION constant. 2022-05-20 17:38:14 +00:00
class-walker-category-checklist.php Code Modernization: Fix reserved keyword and parameter name mismatches for parent/child classes in Walker::end_el(). 2021-09-09 13:03:55 +00:00
class-walker-nav-menu-checklist.php Code Modernization: Fix last parameter name mismatches for parent/child classes in Walker::start_el(). 2021-09-09 12:39:59 +00:00
class-walker-nav-menu-edit.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
class-wp-ajax-upgrader-skin.php Code Modernization: Explicitly declare all properties in WP_Ajax_Upgrader_Skin. 2022-08-29 12:46:10 +00:00
class-wp-application-passwords-list-table.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
class-wp-automatic-updater.php Docs: Add missing @return tag for WP_Automatic_Updater::is_disabled(). 2023-03-27 14:13:22 +00:00
class-wp-comments-list-table.php Comments: Prime post caches in WP_Comments_List_Table. 2023-03-10 15:26:22 +00:00
class-wp-community-events.php Administration: Guard against false transient key in get_cached_events(). 2022-09-27 18:57:13 +00:00
class-wp-debug-data.php Media: Add WP_Image_Editor_Imagick::set_imagick_time_limit() method. 2023-02-22 14:25:25 +00:00
class-wp-filesystem-base.php Code Modernization: Add AllowDynamicProperties attribute to all (parent) classes. 2022-09-12 15:47:14 +00:00
class-wp-filesystem-direct.php Filesystem API: Use trailingslashit( $path ) instead of $path . '/'. Fixes a warning when $path already ends with a slash. 2023-02-16 22:13:28 +00:00
class-wp-filesystem-ftpext.php Filesystem API: Return false for empty paths in FTP ::exists() methods. 2023-03-16 16:14:22 +00:00
class-wp-filesystem-ftpsockets.php Coding Standards: Replace include_once with require_once for required files. 2023-04-09 11:57:22 +00:00
class-wp-filesystem-ssh2.php Filesystem API: Use trailingslashit( $path ) instead of $path . '/'. Fixes a warning when $path already ends with a slash. 2023-02-16 22:13:28 +00:00
class-wp-importer.php Docs: Use third-person singular verbs for WP_Importer related function descriptions, as per docblocks standards. 2023-04-20 10:41:20 +00:00
class-wp-internal-pointers.php Code Modernization: Add AllowDynamicProperties attribute to all (parent) classes. 2022-09-12 15:47:14 +00:00
class-wp-links-list-table.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
class-wp-list-table-compat.php Docs: Add missing descriptions for _WP_List_Table_Compat methods. 2020-11-14 16:54:08 +00:00
class-wp-list-table.php Docs: Miscellaneous improvements and corrections to docblocks. 2023-02-07 21:21:18 +00:00
class-wp-media-list-table.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
class-wp-ms-sites-list-table.php Networks and Sites: Simplify the check for main site on Network Admin → Sites screen. 2023-04-20 14:30:19 +00:00
class-wp-ms-themes-list-table.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
class-wp-ms-users-list-table.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
class-wp-plugin-install-list-table.php Coding Standards: Replace include_once with require_once for required files. 2023-04-09 11:57:22 +00:00
class-wp-plugins-list-table.php Coding Standards: Remove unused variable in WP_Plugins_List_Table::single_row(). 2023-03-21 13:27:21 +00:00
class-wp-post-comments-list-table.php Administration: Remove private delegation from list tables. 2022-10-04 03:47:15 +00:00
class-wp-posts-list-table.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
class-wp-privacy-data-export-requests-list-table.php Privacy: Fix "Retry" action after a personal data export failure. 2022-03-10 19:22:01 +00:00
class-wp-privacy-data-removal-requests-list-table.php Coding Standards: Fix WPCS issues in [49258]. 2020-10-20 21:20:07 +00:00
class-wp-privacy-policy-content.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
class-wp-privacy-requests-table.php Administration: Add new get_views_links method to WP_List_Table. 2022-09-19 21:08:10 +00:00
class-wp-screen.php Docs: Correct and improve various documented types for properties, functions, and hooks. 2023-04-27 22:29:18 +00:00
class-wp-site-health-auto-updates.php Coding Standards: Always use parentheses when instantiating an object. 2022-11-29 15:51:14 +00:00
class-wp-site-health.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
class-wp-site-icon.php Coding Standards: Use strict comparison in wp-admin/includes/class-wp-site-icon.php. 2023-04-23 04:02:18 +00:00
class-wp-terms-list-table.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
class-wp-theme-install-list-table.php Administration: Remove private delegation from list tables. 2022-10-04 03:47:15 +00:00
class-wp-themes-list-table.php Administration: Remove private delegation from list tables. 2022-10-04 03:47:15 +00:00
class-wp-upgrader-skin.php Docs: Clarify the ::hide_process_failed() return value in plugin and theme installer. 2023-03-27 15:11:20 +00:00
class-wp-upgrader-skins.php Docs: Add missing @deprecated tags in the file docblock of some deprecated files. 2019-10-08 17:19:04 +00:00
class-wp-upgrader.php General: Check that set_time_limit() function is available before using it in core. 2023-02-07 13:28:18 +00:00
class-wp-users-list-table.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
comment.php Docs: Use third-person singular verbs for function descriptions in wp-admin/includes/comment.php, as per docblocks standards. 2022-07-20 22:15:10 +00:00
continents-cities.php I18N: Update list of continents and cities for the timezone selection. 2022-09-19 23:24:11 +00:00
credits.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
dashboard.php Administration: Update dashboard welcome panel colors, remove broken link 2023-03-21 15:37:21 +00:00
deprecated.php Coding Standards: Use strict comparison where substr() is involved. 2023-04-16 10:48:22 +00:00
edit-tag-messages.php Docs: Various inline documentation corrections and improvements. 2021-12-07 12:20:02 +00:00
export.php Docs: Improve various globals documentation, as per documentation standards. 2022-12-09 11:54:13 +00:00
file.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
image-edit.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
image.php Media: Revert WebP generation. 2022-09-19 22:53:10 +00:00
import.php Docs: Various docblock improvements in Importer Administration API, as per docs standards. 2022-07-29 09:22:10 +00:00
list-table.php Administration: Remove private delegation from list tables. 2022-10-04 03:47:15 +00:00
media.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
menu.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
meta-boxes.php Help/About: Avoid extra redirections on HelpHub Links. 2023-02-23 11:06:19 +00:00
misc.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
ms-admin-filters.php Networks and Sites: Officially remove global terms. 2022-09-20 02:51:09 +00:00
ms-deprecated.php Networks and Sites: Officially remove global terms. 2022-09-20 02:51:09 +00:00
ms.php Docs: All sorts of improvements and corrections to function and hook docs. 2023-04-27 23:15:17 +00:00
nav-menu.php Coding Standards: Escape the whole attributes in wp-admin/includes/nav-menu.php. 2023-04-01 08:37:20 +00:00
network.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
noop.php Coding Standards: Fix brace indentation in wp-align/includes/noop.php. 2022-11-26 09:12:17 +00:00
options.php Help/About: Avoid extra redirections on HelpHub Links. 2023-02-23 11:06:19 +00:00
plugin-install.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
plugin.php Docs: Remove code tags from WordPress function names within inline documentation. 2022-08-11 13:55:08 +00:00
post.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
privacy-tools.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
revision.php Revisions: Use update_post_author_caches in wp_prepare_revisions_for_js function. 2022-12-06 13:42:13 +00:00
schema.php Coding Standards: Always use parentheses when instantiating an object. 2022-11-29 15:51:14 +00:00
screen.php Coding Standards: Use strict comparison in wp-admin/includes/screen.php. 2021-05-09 20:27:02 +00:00
taxonomy.php Coding Standards: Use strict comparison in wp-admin/includes/taxonomy.php. 2023-03-10 07:04:20 +00:00
template.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
theme-install.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
theme.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
translation-install.php Coding Standards: Always use parentheses when instantiating an object. 2022-11-29 15:51:14 +00:00
update-core.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
update.php Help/About: Use the new /documentation/ URLs for links about WordPress version. 2023-04-04 22:38:22 +00:00
upgrade.php Coding Standards: Break out of the inner loop in make_site_theme_from_default(). 2023-04-29 18:30:23 +00:00
user.php Docs: All sorts of improvements and corrections to function and hook docs. 2023-04-27 23:15:17 +00:00
widgets.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00