Title: WP_Site_Icon::get_post_metadata
Published: August 18, 2015
Last modified: April 28, 2025

---

# WP_Site_Icon::get_post_metadata( null|array|string $value, int $post_id, string $meta_key, bool $single ): array|null|string

## In this article

 * [Parameters](https://developer.wordpress.org/reference/classes/wp_site_icon/get_post_metadata/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/classes/wp_site_icon/get_post_metadata/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wp_site_icon/get_post_metadata/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_site_icon/get_post_metadata/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_site_icon/get_post_metadata/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_site_icon/get_post_metadata/?output_format=md#wp--skip-link--target)

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

## 󠀁[Parameters](https://developer.wordpress.org/reference/classes/wp_site_icon/get_post_metadata/?output_format=md#parameters)󠁿

 `$value`null|array|stringrequired

The value [get_metadata()](https://developer.wordpress.org/reference/functions/get_metadata/)
should return a single metadata value, or an array of values.

`$post_id`intrequired

Post ID.

`$meta_key`stringrequired

Meta key.

`$single`boolrequired

Whether to return only the first value of the specified `$meta_key`.

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wp_site_icon/get_post_metadata/?output_format=md#return)󠁿

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

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_site_icon/get_post_metadata/?output_format=md#source)󠁿

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

[View all references](https://developer.wordpress.org/reference/files/wp-admin/includes/class-wp-site-icon.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-admin/includes/class-wp-site-icon.php#L226)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-admin/includes/class-wp-site-icon.php#L226-L236)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_site_icon/get_post_metadata/?output_format=md#related)󠁿

| Uses | Description | 
| [add_filter()](https://developer.wordpress.org/reference/functions/add_filter/)`wp-includes/plugin.php` |

Adds a callback function to a filter hook.

  | 
| [get_option()](https://developer.wordpress.org/reference/functions/get_option/)`wp-includes/option.php` |

Retrieves an option value based on an option name.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_site_icon/get_post_metadata/?output_format=md#changelog)󠁿

| Version | Description | 
| [4.3.0](https://developer.wordpress.org/reference/since/4.3.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_site_icon%2Fget_post_metadata%2F)
before being able to contribute a note or feedback.