get_core_updates()WP 2.7.0

Gets available core updates.

No Hooks.

Return

Array|false. Array of the update objects on success, false on failure.

Usage

get_core_updates( $options );
$options(array)
Set $options['dismissed'] to true to show dismissed upgrades too, set $options['available'] to false to skip not-dismissed updates.
Default: array()

Changelog

Since 2.7.0 Introduced.

get_core_updates() code WP 6.6.2

function get_core_updates( $options = array() ) {
	$options = array_merge(
		array(
			'available' => true,
			'dismissed' => false,
		),
		$options
	);

	$dismissed = get_site_option( 'dismissed_update_core' );

	if ( ! is_array( $dismissed ) ) {
		$dismissed = array();
	}

	$from_api = get_site_transient( 'update_core' );

	if ( ! isset( $from_api->updates ) || ! is_array( $from_api->updates ) ) {
		return false;
	}

	$updates = $from_api->updates;
	$result  = array();

	foreach ( $updates as $update ) {
		if ( 'autoupdate' === $update->response ) {
			continue;
		}

		if ( array_key_exists( $update->current . '|' . $update->locale, $dismissed ) ) {
			if ( $options['dismissed'] ) {
				$update->dismissed = true;
				$result[]          = $update;
			}
		} else {
			if ( $options['available'] ) {
				$update->dismissed = false;
				$result[]          = $update;
			}
		}
	}

	return $result;
}