WP_Customize_Manager::get_changeset_post_data()protectedWP 4.7.0

Gets the data stored in a changeset post.

Метод класса: WP_Customize_Manager{}

Хуков нет.

Возвращает

Массив|WP_Error. Changeset data or WP_Error on error.

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->get_changeset_post_data( $post_id );
$post_id(int) (обязательный)
Changeset post ID.

Список изменений

С версии 4.7.0 Введена.

Код WP_Customize_Manager::get_changeset_post_data() WP 6.5.2

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;
}