Make WordPress Core


Ignore:
Timestamp:
10/10/2022 11:01:08 PM (2 years ago)
Author:
audrasjb
Message:

Query: Prevent PHP notice when get_post_type_object() returns null in is_post_type_archive().

This changeset avoids potential PHP notices caused by get_post_type_object() returning null when called inside is_post_type_archive().

Props sean212, costdev.
Fixes #56287.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/query.php

    r54090 r54464  
    770770        $this->assertSame( '/* posts_join_request */', $posts_clauses_request['join'] );
    771771    }
     772
     773    /**
     774     * Tests that is_post_type_archive() returns false for an undefined post type.
     775     *
     776     * @ticket 56287
     777     *
     778     * @covers ::is_post_type_archive
     779     */
     780    public function test_is_post_type_archive_should_return_false_for_an_undefined_post_type() {
     781        global $wp_query;
     782
     783        $post_type = '56287-post-type';
     784
     785        // Force the request to be a post type archive.
     786        $wp_query->is_post_type_archive = true;
     787        $wp_query->set( 'post_type', $post_type );
     788
     789        $this->assertFalse( is_post_type_archive( $post_type ) );
     790    }
    772791}
Note: See TracChangeset for help on using the changeset viewer.