diff --git a/src/wp-includes/blocks.php b/src/wp-includes/blocks.php
index 422b75e945..15a667bdbe 100644
--- a/src/wp-includes/blocks.php
+++ b/src/wp-includes/blocks.php
@@ -188,7 +188,7 @@ function strip_core_block_namespace( $block_name = null ) {
  * @param string $content    Block save content.
  * @return string Comment-delimited block content.
  */
-function get_comment_delimited_block_content( $block_name = null, $block_attributes, $block_content ) {
+function get_comment_delimited_block_content( $block_name = null, $block_attributes = array(), $block_content = '' ) {
 	if ( is_null( $block_name ) ) {
 		return $block_content;
 	}
diff --git a/src/wp-includes/functions.php b/src/wp-includes/functions.php
index 35c1e2e2f3..b44909a794 100644
--- a/src/wp-includes/functions.php
+++ b/src/wp-includes/functions.php
@@ -828,11 +828,11 @@ function wp_extract_urls( $content ) {
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param string         $content Post content. If `null`, the `post_content` field from `$post` is used.
- * @param int|WP_Post    $post    Post ID or post object.
+ * @param string           $content Post content. If `null`, the `post_content` field from `$post` is used.
+ * @param int|WP_Post|null $post    Post ID or post object.
  * @return null|bool Returns false if post is not found.
  */
-function do_enclose( $content = null, $post ) {
+function do_enclose( $content = null, $post = null ) {
 	global $wpdb;
 
 	// @todo Tidy this code and make the debug code optional.
diff --git a/src/wp-includes/nav-menu.php b/src/wp-includes/nav-menu.php
index e786d786db..570026ac88 100644
--- a/src/wp-includes/nav-menu.php
+++ b/src/wp-includes/nav-menu.php
@@ -1054,11 +1054,11 @@ function _wp_delete_post_menu_item( $object_id = 0 ) {
  * @since 3.0.0
  * @access private
  *
- * @param int    $object_id Optional. The ID of the original object being trashed. Default 0.
- * @param int    $tt_id     Term taxonomy ID. Unused.
- * @param string $taxonomy  Taxonomy slug.
+ * @param int      $object_id Optional. The ID of the original object being trashed. Default 0.
+ * @param int|null $tt_id     Term taxonomy ID. Unused.
+ * @param string   $taxonomy  Taxonomy slug.
  */
-function _wp_delete_tax_menu_item( $object_id = 0, $tt_id, $taxonomy ) {
+function _wp_delete_tax_menu_item( $object_id = 0, $tt_id = null, $taxonomy = '' ) {
 	$object_id = (int) $object_id;
 
 	$menu_item_ids = wp_get_associated_nav_menu_items( $object_id, 'taxonomy', $taxonomy );
diff --git a/tests/phpunit/tests/rest-api/rest-attachments-controller.php b/tests/phpunit/tests/rest-api/rest-attachments-controller.php
index f6adcf78c8..f88f120cd9 100644
--- a/tests/phpunit/tests/rest-api/rest-attachments-controller.php
+++ b/tests/phpunit/tests/rest-api/rest-attachments-controller.php
@@ -1552,7 +1552,7 @@ public function tearDown() {
 		$this->remove_added_uploads();
 	}
 
-	protected function check_post_data( $attachment, $data, $context = 'view', $links ) {
+	protected function check_post_data( $attachment, $data, $context = 'view', $links = array() ) {
 		parent::check_post_data( $attachment, $data, $context, $links );
 
 		$this->assertArrayNotHasKey( 'content', $data );
