Creates WordPress site meta and sets the default values.
Parameters
$site_id
int
Required
Site ID to populate meta for.
$meta
array
Optional
Custom meta $key => $value pairs to use.
Default: array()
Source
File: wp-admin/includes/schema.php.
View all references
function populate_site_meta( $site_id, array $meta = array() ) {
global $wpdb;
$site_id = (int) $site_id;
if ( ! is_site_meta_supported() ) {
return;
}
if ( empty( $meta ) ) {
return;
}
/**
* Filters meta for a site on creation.
*
* @since 5.2.0
*
* @param array $meta Associative array of site meta keys and values to be inserted.
* @param int $site_id ID of site to populate.
*/
$site_meta = apply_filters( "populate_site_meta", $meta, $site_id );
$insert = "";
foreach ( $site_meta as $meta_key => $meta_value ) {
if ( is_array( $meta_value ) ) {
$meta_value = serialize( $meta_value );
}
if ( ! empty( $insert ) ) {
$insert .= ", ";
}
$insert .= $wpdb->prepare( "( %d, %s, %s)", $site_id, $meta_key, $meta_value );
}
$wpdb->query( "INSERT INTO $wpdb->blogmeta ( blog_id, meta_key, meta_value ) VALUES " . $insert ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
wp_cache_delete( $site_id, "blog_meta" );
wp_cache_set_sites_last_changed();
}