diff --git a/src/wp-includes/link-template.php b/src/wp-includes/link-template.php index 4264d784ef..9ba51f4e1d 100644 --- a/src/wp-includes/link-template.php +++ b/src/wp-includes/link-template.php @@ -2417,7 +2417,8 @@ function wp_get_shortlink($id = 0, $context = 'post', $allow_slugs = true) { $post = get_post( $post_id ); } elseif ( 'post' == $context ) { $post = get_post( $id ); - $post_id = $post->ID; + if ( ! empty( $post->ID ) ) + $post_id = $post->ID; } $shortlink = ''; diff --git a/tests/phpunit/tests/link.php b/tests/phpunit/tests/link.php index 13ab21f176..42ebc3f4b6 100644 --- a/tests/phpunit/tests/link.php +++ b/tests/phpunit/tests/link.php @@ -35,6 +35,8 @@ class Tests_Link extends WP_UnitTestCase { // Basic case $this->assertEquals( get_permalink( $post_id ), wp_get_shortlink( $post_id, 'post' ) ); + unset( $GLOBALS['post'] ); + // Global post is not set $this->assertEquals( '', wp_get_shortlink( 0, 'post' ) ); $this->assertEquals( '', wp_get_shortlink( 0 ) );