wp_update_site

函数
wp_update_site ( $site_id, $data )
参数
  • (int) $site_id ID of the site that should be updated.
    Required:
  • (array) $data Site data to update. See {@see} for the list of supported keys.
    Required:
返回值
  • (int|WP_Error) The updated site's ID on success, or error object on failure.
定义位置
相关方法
wp_update_termwp_update_postwp_update_userwp_update_themewp_update_themes
引入
5.1.0
弃用
-

wp_update_site是一个函数,用于更新WordPress多站点网络中的现有站点: 该函数接收一个参数数组,包括站点ID、站点URL和站点名称,并使用它们来更新数据库中的站点。

更新数据库中的网站。

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;
}

常见问题

FAQs
查看更多 >