W3cubDocs

/WordPress

WP_REST_URL_Details_Controller::get_image( array $meta_elements, string $url ): string

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

Description

See: https://ogp.me/.

Parameters

$meta_elementsarrayrequired
A multidimensional 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.
$urlstringrequired
The target website URL.

Return

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

Source

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;
}

Changelog

Version Description
5.9.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_rest_url_details_controller/get_image