populate_site_meta()

最后更新于:2021-11-27 18:48:58

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

Creates GeChiUI site meta and sets the default values.

参数

$site_id

(int) (Required) Site ID to populate meta for.

$meta

(array) (Optional) Custom meta $key => $value pairs to use.

Default value: array()

源文件

文件: gc-admin/includes/schema.php

function populate_site_meta( $site_id, array $meta = array() ) {
	global $gcdb;

	$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 .= $gcdb->prepare( '( %d, %s, %s)', $site_id, $meta_key, $meta_value );
	}

	$gcdb->query( "INSERT INTO $gcdb->blogmeta ( blog_id, meta_key, meta_value ) VALUES " . $insert ); // phpcs:ignore GeChiUI.DB.PreparedSQL.NotPrepared

	gc_cache_delete( $site_id, 'blog_meta' );
	gc_cache_set_sites_last_changed();
}