WP_Customize_Manager::get_changeset_post_data( int $post_id ): array|WP_Error

In this article

Gets the data stored in a changeset post.

Parameters

$post_idintrequired
Changeset post ID.

Return

array|WP_Error Changeset data or WP_Error on error.

Source

protected function get_changeset_post_data( $post_id ) {
	if ( ! $post_id ) {
		return new WP_Error( 'empty_post_id' );
	}
	$changeset_post = get_post( $post_id );
	if ( ! $changeset_post ) {
		return new WP_Error( 'missing_post' );
	}
	if ( 'revision' === $changeset_post->post_type ) {
		if ( 'customize_changeset' !== get_post_type( $changeset_post->post_parent ) ) {
			return new WP_Error( 'wrong_post_type' );
		}
	} elseif ( 'customize_changeset' !== $changeset_post->post_type ) {
		return new WP_Error( 'wrong_post_type' );
	}
	$changeset_data = json_decode( $changeset_post->post_content, true );
	$last_error     = json_last_error();
	if ( $last_error ) {
		return new WP_Error( 'json_parse_error', '', $last_error );
	}
	if ( ! is_array( $changeset_data ) ) {
		return new WP_Error( 'expected_array' );
	}
	return $changeset_data;
}

Changelog

VersionDescription
4.7.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.