diff --git a/src/wp-includes/post.php b/src/wp-includes/post.php
index 3ec68625a5..be09797cd8 100644
--- a/src/wp-includes/post.php
+++ b/src/wp-includes/post.php
@@ -7436,11 +7436,11 @@ function _publish_post_hook( $post_id ) {
  *
  * @since 3.1.0
  *
- * @param int|WP_Post $post Post ID or post object.
+ * @param int|WP_Post|null $post Optional. Post ID or post object.
  * @return int|false Post parent ID (which can be 0 if there is no parent),
  *                   or false if the post does not exist.
  */
-function wp_get_post_parent_id( $post ) {
+function wp_get_post_parent_id( $post = null ) {
 	$post = get_post( $post );
 	if ( ! $post || is_wp_error( $post ) ) {
 		return false;
diff --git a/tests/phpunit/tests/post/wpGetPostParentId.php b/tests/phpunit/tests/post/wpGetPostParentId.php
index bd25232830..b756c7eb90 100644
--- a/tests/phpunit/tests/post/wpGetPostParentId.php
+++ b/tests/phpunit/tests/post/wpGetPostParentId.php
@@ -33,6 +33,14 @@ class Tests_Post_wpGetPostParentId extends WP_UnitTestCase {
 		$this->assertSame( self::$parent_post_id, wp_get_post_parent_id( self::$post_id ) );
 	}
 
+	/**
+	 * @ticket 48358
+	 */
+	public function test_wp_get_post_parent_id_with_no_post_argument_default_to_global_post_id() {
+		$GLOBALS['post'] = get_post( self::$post_id );
+		$this->assertSame( self::$parent_post_id, wp_get_post_parent_id() );
+	}
+
 	public function test_wp_get_post_parent_id_with_non_existing_id_default_to_global_post_id() {
 		$GLOBALS['post'] = get_post( self::$post_id );
 		$this->assertSame( self::$parent_post_id, wp_get_post_parent_id( 0 ) );
