populate_site_meta( int $site_id, array $meta = array() )

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();

}

Leave a Reply

Your email address will not be published. Required fields are marked *