wp_update_site

The timeline below displays how wordpress function wp_update_site has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 5.1

/**
 * Updates a site in the database.
 *
 * @since 5.1.0
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 *
 * @param int   $site_id ID of the site that should be updated.
 * @param array $data    Site data to update. See {@see wp_insert_site()} for the list of supported keys.
 * @return int|WP_Error The updated site's ID on success, or error object on failure.
 */
function wp_update_site($site_id, array $data)
{
    global $wpdb;
    if (empty($site_id)) {
        return new WP_Error('site_empty_id', __('Site ID must not be empty.'));
    }
    $old_site = get_site($site_id);
    if (!$old_site) {
        return new WP_Error('site_not_exist', __('Site does not exist.'));
    }
    $defaults = $old_site->to_array();
    $defaults['network_id'] = (int) $defaults['site_id'];
    $defaults['last_updated'] = current_time('mysql', true);
    unset($defaults['blog_id'], $defaults['site_id']);
    $data = wp_prepare_site_data($data, $defaults, $old_site);
    if (is_wp_error($data)) {
        return $data;
    }
    if (false === $wpdb->update($wpdb->blogs, $data, array('blog_id' => $old_site->id))) {
        return new WP_Error('db_update_error', __('Could not update site in the database.'), $wpdb->last_error);
    }
    clean_blog_cache($old_site);
    $new_site = get_site($old_site->id);
    /**
     * Fires once a site has been updated in the database.
     *
     * @since 5.1.0
     *
     * @param WP_Site $new_site New site object.
     * @param WP_Site $old_site Old site object.
     */
    do_action('wp_update_site', $new_site, $old_site);
    return (int) $new_site->id;
}