diff --git a/src/wp-includes/taxonomy.php b/src/wp-includes/taxonomy.php
index 85ca5c30da..64fc4fcfb6 100644
--- a/src/wp-includes/taxonomy.php
+++ b/src/wp-includes/taxonomy.php
@@ -2817,6 +2817,19 @@ function wp_set_object_terms( $object_id, $terms, $taxonomy, $append = false ) {
 		$old_tt_ids = array();
 	}
 
+	/**
+	 * Fires before an object's terms are set.
+	 *
+	 * @since 6.4.1
+	 *
+	 * @param int    $object_id  Object ID.
+	 * @param array  $terms      An array of object term IDs or slugs.
+	 * @param string $taxonomy   Taxonomy slug.
+	 * @param bool   $append     Whether to append new terms to the old terms.
+	 * @param array  $old_tt_ids Old array of term taxonomy IDs.
+	 */
+	do_action( 'pre_set_object_terms', $object_id, $terms, $taxonomy, $append, $old_tt_ids );
+
 	$tt_ids     = array();
 	$term_ids   = array();
 	$new_tt_ids = array();
