A WordPress-centric search engine for devs and theme authors

delete_site_meta ›

delete_site_meta ( $site_id, $meta_key, $meta_value = '' )
Parameters: (3)
  • (int) $site_id Site ID.
    Required: Yes
  • (string) $meta_key Metadata name.
    Required: Yes
  • (mixed) $meta_value Optional. Metadata value. Must be serializable if non-scalar. Default empty.
    Required: No
    Default: (empty)
  • (bool) True on success, false on failure.
Defined at:

Removes metadata matching criteria from a site.

You can match based on the key, or key and value. Removing based on key and value, will keep from removing duplicate metadata with the same key. It also allows removing all metadata matching key, if needed.


function delete_site_meta( $site_id, $meta_key, $meta_value = '' ) {
	// Bail if site meta table is not installed.
	if ( ! is_site_meta_supported() ) {
		/* translators: %s: database table name */
		_doing_it_wrong( __FUNCTION__, sprintf( __( 'The %s table is not installed. Please run the network database upgrade.' ), $GLOBALS['wpdb']->blogmeta ), '5.0.0' );
		return false;

	$deleted = delete_metadata( 'blog', $site_id, $meta_key, $meta_value );

	// Bust site query cache.
	if ( $deleted ) {
		wp_cache_set( 'last_changed', microtime(), 'sites' );

	return $deleted;