Yoast\WP\SEO\Schema_Aggregator\Infrastructure\Schema_Pieces

WordPress_Global_State_Adapter::reset_global_statepublicYoast 1.0

Restore WordPress global state

Helper method to restore $post and $wp_query globals after schema collection. This is critical to prevent side effects that could corrupt WordPress's global context.

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

Хуков нет.

Возвращает

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

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

$WordPress_Global_State_Adapter = new WordPress_Global_State_Adapter();
$WordPress_Global_State_Adapter->reset_global_state(): void;

Код WordPress_Global_State_Adapter::reset_global_state() Yoast 28.3

public function reset_global_state(): void {
	global $post, $wp_query;

	\wp_reset_postdata();

	// phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited -- To reset the post we need to do this explicitly.
	$post = $this->previous_post;

	if ( isset( $wp_query ) && \is_object( $wp_query ) ) {
		$wp_query->queried_object    = $this->previous_queried_object;
		$wp_query->queried_object_id = $this->previous_queried_object_id;
		$wp_query->is_single         = $this->previous_query_flags['is_single'];
		$wp_query->is_page           = $this->previous_query_flags['is_page'];
		$wp_query->is_singular       = $this->previous_query_flags['is_singular'];
	}

	// Drop the per-iteration current_page context primed by Schema_Piece_Repository::get(),
	// so the next iteration re-resolves cleanly.
	$this->memoizer->clear_for_current_page();
}