WP_Customize_Manager::establish_loaded_changeset()publicWP 4.9.0

Establishes the loaded changeset.

This method runs right at after_setup_theme and applies the customize_changeset_branching to determine whether concurrent changesets are allowed. Then if the Customizer is not initialized with a changeset_uuid param, this method will determine which UUID should be used. If changeset branching is disabled, then the most saved changeset will be loaded by default. Otherwise, if there are no existing saved changesets or if changeset branching is enabled, then a new UUID will be generated.

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

Хуков нет.

Возвращает

null. Ничего (null).

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

$WP_Customize_Manager = new WP_Customize_Manager();
$WP_Customize_Manager->establish_loaded_changeset();

Заметки

  • Global. Строка. $pagenow The filename of the current screen.

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

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

Код WP_Customize_Manager::establish_loaded_changeset() WP 6.4.3

public function establish_loaded_changeset() {
	global $pagenow;

	if ( empty( $this->_changeset_uuid ) ) {
		$changeset_uuid = null;

		if ( ! $this->branching() && $this->is_theme_active() ) {
			$unpublished_changeset_posts = $this->get_changeset_posts(
				array(
					'post_status'               => array_diff( get_post_stati(), array( 'auto-draft', 'publish', 'trash', 'inherit', 'private' ) ),
					'exclude_restore_dismissed' => false,
					'author'                    => 'any',
					'posts_per_page'            => 1,
					'order'                     => 'DESC',
					'orderby'                   => 'date',
				)
			);
			$unpublished_changeset_post  = array_shift( $unpublished_changeset_posts );
			if ( ! empty( $unpublished_changeset_post ) && wp_is_uuid( $unpublished_changeset_post->post_name ) ) {
				$changeset_uuid = $unpublished_changeset_post->post_name;
			}
		}

		// If no changeset UUID has been set yet, then generate a new one.
		if ( empty( $changeset_uuid ) ) {
			$changeset_uuid = wp_generate_uuid4();
		}

		$this->_changeset_uuid = $changeset_uuid;
	}

	if ( is_admin() && 'customize.php' === $pagenow ) {
		$this->set_changeset_lock( $this->changeset_post_id() );
	}
}