_wp_customize_changeset_filter_insert_post_data()WP 4.7.0

Filters changeset post data upon insert to ensure post_name is intact.

This is needed to prevent the post_name from being dropped when the post is transitioned into pending status by a contributor.

Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.

No Hooks.


Array. Filtered data.


_wp_customize_changeset_filter_insert_post_data( $post_data, $supplied_post_data );
$post_data(array) (required)
An array of slashed post data.
$supplied_post_data(array) (required)
An array of sanitized, but otherwise unmodified post data.



Since 4.7.0 Introduced.

_wp_customize_changeset_filter_insert_post_data() code WP 6.5.4

function _wp_customize_changeset_filter_insert_post_data( $post_data, $supplied_post_data ) {
	if ( isset( $post_data['post_type'] ) && 'customize_changeset' === $post_data['post_type'] ) {

		// Prevent post_name from being dropped, such as when contributor saves a changeset post as pending.
		if ( empty( $post_data['post_name'] ) && ! empty( $supplied_post_data['post_name'] ) ) {
			$post_data['post_name'] = $supplied_post_data['post_name'];
	return $post_data;