Make WordPress Core


Ignore:
Timestamp:
06/22/2023 02:34:56 PM (3 years ago)
Author:
SergeyBiryukov
Message:

Code Modernization: Replace usage of strpos() with str_contains().

str_contains() was introduced in PHP 8.0 to perform a case-sensitive check indicating if the string to search in (haystack) contains the given substring (needle).

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

This commit replaces false !== strpos( ... ) with str_contains() in core files, making the code more readable and consistent, as well as better aligned with modern development practices.

Follow-up to [52039], [52040], [52326], [55703], [55710], [55987].

Props Soean, spacedmonkey, costdev, dingo_d, azaozz, mikeschroder, flixos90, peterwilsoncc, SergeyBiryukov.
Fixes #58206.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/plugin.php

    r53876 r55988  
    103103    if ( ! $plugin_data['TextDomain'] ) {
    104104        $plugin_slug = dirname( plugin_basename( $plugin_file ) );
    105         if ( '.' !== $plugin_slug && false === strpos( $plugin_slug, '/' ) ) {
     105        if ( '.' !== $plugin_slug && ! str_contains( $plugin_slug, '/' ) ) {
    106106            $plugin_data['TextDomain'] = $plugin_slug;
    107107        }
     
    19361936                return $parent_page;
    19371937            } elseif ( empty( $typenow ) && $pagenow === $submenu_array[2]
    1938                 && ( empty( $parent_file ) || false === strpos( $parent_file, '?' ) )
     1938                && ( empty( $parent_file ) || ! str_contains( $parent_file, '?' ) )
    19391939            ) {
    19401940                $parent_file = $parent_page;
Note: See TracChangeset for help on using the changeset viewer.