Make WordPress Core

Changeset 51796


Ignore:
Timestamp:
09/10/2021 03:02:07 PM (3 years ago)
Author:
hellofromTonya
Message:

Code Modernization: Fix null to non-nullable deprecation in term_exists().

The term_exists() function expects a string or an integer for the $term parameter. It validates for integer, but not for string or null.

One of the pre-existing test cases, passed null to the function, leading to a trim(): Passing null to parameter #1 ($string) of type string is deprecated notice on PHP 8.1.

Fixed now by doing a cursory check on the variable at the start of the function and bowing out early in case the $term is null.

The issue was discovered via and is already covered by the Tests_TermExists::test_term_exists_unknown() test method.

Follow-up to [15220]. [38716].

Props jrf, hellofromTonya.
See #53635.

File:
1 edited

Legend:

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

    r51731 r51796  
    14811481    global $wpdb;
    14821482
     1483    if ( null === $term ) {
     1484        return null;
     1485    }
     1486
    14831487    $select     = "SELECT term_id FROM $wpdb->terms as t WHERE ";
    14841488    $tax_select = "SELECT tt.term_id, tt.term_taxonomy_id FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy as tt ON tt.term_id = t.term_id WHERE ";
Note: See TracChangeset for help on using the changeset viewer.