A WordPress-centric search engine for devs and theme authors



get_core_updates ›

Sincen/a
Deprecatedn/a
get_core_updates ( $options = array() )
Parameters:
  • (array) $options Set $options['dismissed'] to true to show dismissed upgrades too, set $options['available'] to false to skip not-dismissed updates.
    Required: No
    Default: array()
Returns:
  • (array|false) Array of the update objects on success, false on failure.
Defined at:
Codex:

Get available core updates.



Source

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 ( $update->response == 'autoupdate' ) {
			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;
}