WP_REST_URL_Details_Controller::get_image()privateWP 5.9.0

Parses the Open Graph (OG) Image from the provided HTML.

See: https://ogp.me/.

Method of the class: WP_REST_URL_Details_Controller{}

No Hooks.

Return

String. The OG image on success. Empty string if not found.

Usage

// private - for code of main (parent) class only
$result = $this->get_image( $meta_elements, $url );
$meta_elements(array) (required)

A multi-dimensional indexed array on success, else empty array.

  • 0(string[])
    Meta elements with a content attribute.

  • 1(string[])
    Content attribute's opening quotation mark.

  • 2(string[])
    Content attribute's value for each meta element.
$url(string) (required)
The target website URL.

Changelog

Since 5.9.0 Introduced.

WP_REST_URL_Details_Controller::get_image() code WP 6.4.3

private function get_image( $meta_elements, $url ) {
	$image = $this->get_metadata_from_meta_element(
		$meta_elements,
		'property',
		'(?:og:image|og:image:url)'
	);

	// Bail out if image not found.
	if ( '' === $image ) {
		return '';
	}

	// Attempt to convert relative URLs to absolute.
	$parsed_url = parse_url( $url );
	if ( isset( $parsed_url['scheme'] ) && isset( $parsed_url['host'] ) ) {
		$root_url = $parsed_url['scheme'] . '://' . $parsed_url['host'] . '/';
		$image    = WP_Http::make_absolute_url( $image, $root_url );
	}

	return $image;
}