mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-10-04 22:57:20 +00:00
Posts, Post Types: Correct the check for non-existing post in get_post_permalink().
The function was erroneously calling `is_wp_error()` on the result of a `get_post()` call, which returns `null` on failure, and never returns a `WP_Error` object. Previously, passing a non-existing post ID to the function would result in a home URL being returned and a few `Attempt to read property "post_type, post_name, hierarchical..." on null` PHP warnings. This commit ensures `get_post_permalink()` returns `false` on failure, which brings parity with `get_permalink()`. Includes a unit test to confirm the correct behavior. Follow-up to [12923], [13023], [32606]. Props renegeuze, manzoorwani.jk. Fixes #45329. git-svn-id: https://develop.svn.wordpress.org/trunk@53733 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* @group link
|
||||
* @covers ::get_post_permalink
|
||||
*/
|
||||
class Tests_Link_GetPostPermalink extends WP_UnitTestCase {
|
||||
|
||||
public function test_get_post_permalink_should_return_string_on_success() {
|
||||
$post = self::factory()->post->create();
|
||||
|
||||
$this->assertIsString( get_post_permalink( $post ) );
|
||||
}
|
||||
|
||||
public function test_get_post_permalink_should_return_false_for_non_existing_post() {
|
||||
$this->assertFalse( get_post_permalink( -1 ) );
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user