WP_REST_Themes_Controller::prepare_links()protectedWP 5.7.0

Prepares links for the request.

Method of the class: WP_REST_Themes_Controller{}

No Hooks.

Return

Array. Links for the given block type.

Usage

// protected - for code of main (parent) or child class
$result = $this->prepare_links( $theme );
$theme(WP_Theme) (required)
Theme data.

Changelog

Since 5.7.0 Introduced.

WP_REST_Themes_Controller::prepare_links() code WP 6.4.3

protected function prepare_links( $theme ) {
	$links = array(
		'self'       => array(
			'href' => rest_url( sprintf( '%s/%s/%s', $this->namespace, $this->rest_base, $theme->get_stylesheet() ) ),
		),
		'collection' => array(
			'href' => rest_url( sprintf( '%s/%s', $this->namespace, $this->rest_base ) ),
		),
	);

	if ( $this->is_same_theme( $theme, wp_get_theme() ) ) {
		// This creates a record for the active theme if not existent.
		$id = WP_Theme_JSON_Resolver::get_user_global_styles_post_id();
	} else {
		$user_cpt = WP_Theme_JSON_Resolver::get_user_data_from_wp_global_styles( $theme );
		$id       = isset( $user_cpt['ID'] ) ? $user_cpt['ID'] : null;
	}

	if ( $id ) {
		$links['https://api.w.org/user-global-styles'] = array(
			'href' => rest_url( 'wp/v2/global-styles/' . $id ),
		);
	}

	return $links;
}