WP_Customize_Manager::get_changeset_posts( array $args = array() ): WP_Post[]

In this article

Gets changeset posts.

Parameters

$argsarrayoptional
Args to pass into get_posts() to query changesets.
  • posts_per_page int
    Number of posts to return. Defaults to -1 (all posts).
  • author int
    Post author. Defaults to current user.
  • post_status string
    Status of changeset. Defaults to 'auto-draft'.
  • exclude_restore_dismissed bool
    Whether to exclude changeset auto-drafts that have been dismissed. Defaults to true.

Default:array()

Return

WP_Post[] Auto-draft changesets.

Source

protected function get_changeset_posts( $args = array() ) {
	$default_args = array(
		'exclude_restore_dismissed' => true,
		'posts_per_page'            => -1,
		'post_type'                 => 'customize_changeset',
		'post_status'               => 'auto-draft',
		'order'                     => 'DESC',
		'orderby'                   => 'date',
		'no_found_rows'             => true,
		'cache_results'             => true,
		'update_post_meta_cache'    => false,
		'update_post_term_cache'    => false,
		'lazy_load_term_meta'       => false,
	);
	if ( get_current_user_id() ) {
		$default_args['author'] = get_current_user_id();
	}
	$args = array_merge( $default_args, $args );

	if ( ! empty( $args['exclude_restore_dismissed'] ) ) {
		unset( $args['exclude_restore_dismissed'] );
		$args['meta_query'] = array(
			array(
				'key'     => '_customize_restore_dismissed',
				'compare' => 'NOT EXISTS',
			),
		);
	}

	return get_posts( $args );
}

Changelog

VersionDescription
4.9.0Introduced.

User Contributed Notes

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