WP_Site_Icon::get_post_metadata()publicWP 4.3.0

Adds custom image sizes when meta data for an image is requested, that happens to be used as Site Icon.

Method of the class: WP_Site_Icon{}

No Hooks.


Array|null|String. The attachment metadata value, array of values, or null.


$WP_Site_Icon = new WP_Site_Icon();
$WP_Site_Icon->get_post_metadata( $value, $post_id, $meta_key, $single );
$value(null|array|string) (required)
The value get_metadata() should return a single metadata value, or an array of values.
$post_id(int) (required)
Post ID.
$meta_key(string) (required)
Meta key.
$single(true|false) (required)
Whether to return only the first value of the specified $meta_key.


Since 4.3.0 Introduced.

WP_Site_Icon::get_post_metadata() code WP 6.5.3

public function get_post_metadata( $value, $post_id, $meta_key, $single ) {
	if ( $single && '_wp_attachment_backup_sizes' === $meta_key ) {
		$site_icon_id = (int) get_option( 'site_icon' );

		if ( $post_id === $site_icon_id ) {
			add_filter( 'intermediate_image_sizes', array( $this, 'intermediate_image_sizes' ) );

	return $value;