Make WordPress Core


Ignore:
Timestamp:
06/22/2023 02:34:56 PM (16 months 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-includes/canonical.php

    r55346 r55988  
    390390                }
    391391            }
    392         } elseif ( is_single() && strpos( $wp_rewrite->permalink_structure, '%category%' ) !== false ) {
     392        } elseif ( is_single() && str_contains( $wp_rewrite->permalink_structure, '%category%' ) ) {
    393393            $category_name = get_query_var( 'category_name' );
    394394
     
    519519            if ( ! empty( $addl_path )
    520520                && $wp_rewrite->using_index_permalinks()
    521                 && strpos( $redirect['path'], '/' . $wp_rewrite->index . '/' ) === false
     521                && ! str_contains( $redirect['path'], '/' . $wp_rewrite->index . '/' )
    522522            ) {
    523523                $redirect['path'] = trailingslashit( $redirect['path'] ) . $wp_rewrite->index . '/';
     
    738738
    739739    // Hex-encoded octets are case-insensitive.
    740     if ( false !== strpos( $requested_url, '%' ) ) {
     740    if ( str_contains( $requested_url, '%' ) ) {
    741741        if ( ! function_exists( 'lowercase_octets' ) ) {
    742742            /**
Note: See TracChangeset for help on using the changeset viewer.