WP_Debug_Data::get_wp_core(): array

In this article

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

Gets the WordPress core section of the debug data.

Return

array

Source

private static function get_wp_core(): array {
	// Save few function calls.
	$permalink_structure    = get_option( 'permalink_structure' );
	$is_ssl                 = is_ssl();
	$users_can_register     = get_option( 'users_can_register' );
	$blog_public            = get_option( 'blog_public' );
	$default_comment_status = get_option( 'default_comment_status' );
	$environment_type       = wp_get_environment_type();
	$core_version           = wp_get_wp_version();
	$core_updates           = get_core_updates();
	$core_update_needed     = '';

	if ( is_array( $core_updates ) ) {
		foreach ( $core_updates as $core => $update ) {
			if ( 'upgrade' === $update->response ) {
				/* translators: %s: Latest WordPress version number. */
				$core_update_needed = ' ' . sprintf( __( '(Latest version: %s)' ), $update->version );
			} else {
				$core_update_needed = '';
			}
		}
	}

	$fields = array(
		'version'                => array(
			'label' => __( 'Version' ),
			'value' => $core_version . $core_update_needed,
			'debug' => $core_version,
		),
		'site_language'          => array(
			'label' => __( 'Site Language' ),
			'value' => get_locale(),
		),
		'user_language'          => array(
			'label' => __( 'User Language' ),
			'value' => get_user_locale(),
		),
		'timezone'               => array(
			'label' => __( 'Timezone' ),
			'value' => wp_timezone_string(),
		),
		'home_url'               => array(
			'label'   => __( 'Home URL' ),
			'value'   => get_bloginfo( 'url' ),
			'private' => true,
		),
		'site_url'               => array(
			'label'   => __( 'Site URL' ),
			'value'   => get_bloginfo( 'wpurl' ),
			'private' => true,
		),
		'permalink'              => array(
			'label' => __( 'Permalink structure' ),
			'value' => $permalink_structure ? $permalink_structure : __( 'No permalink structure set' ),
			'debug' => $permalink_structure,
		),
		'https_status'           => array(
			'label' => __( 'Is this site using HTTPS?' ),
			'value' => $is_ssl ? __( 'Yes' ) : __( 'No' ),
			'debug' => $is_ssl,
		),
		'multisite'              => array(
			'label' => __( 'Is this a multisite?' ),
			'value' => is_multisite() ? __( 'Yes' ) : __( 'No' ),
			'debug' => is_multisite(),
		),
		'user_registration'      => array(
			'label' => __( 'Can anyone register on this site?' ),
			'value' => $users_can_register ? __( 'Yes' ) : __( 'No' ),
			'debug' => $users_can_register,
		),
		'blog_public'            => array(
			'label' => __( 'Is this site discouraging search engines?' ),
			'value' => $blog_public ? __( 'No' ) : __( 'Yes' ),
			'debug' => $blog_public,
		),
		'default_comment_status' => array(
			'label' => __( 'Default comment status' ),
			'value' => 'open' === $default_comment_status ? _x( 'Open', 'comment status' ) : _x( 'Closed', 'comment status' ),
			'debug' => $default_comment_status,
		),
		'environment_type'       => array(
			'label' => __( 'Environment type' ),
			'value' => $environment_type,
			'debug' => $environment_type,
		),
	);

	// Conditionally add debug information for multisite setups.
	if ( is_multisite() ) {
		$site_id = get_current_blog_id();

		$fields['site_id'] = array(
			'label' => __( 'Site ID' ),
			'value' => $site_id,
			'debug' => $site_id,
		);

		$network_query = new WP_Network_Query();
		$network_ids   = $network_query->query(
			array(
				'fields'        => 'ids',
				'number'        => 100,
				'no_found_rows' => false,
			)
		);

		$site_count = 0;
		foreach ( $network_ids as $network_id ) {
			$site_count += get_blog_count( $network_id );
		}

		$fields['site_count'] = array(
			'label' => __( 'Site count' ),
			'value' => $site_count,
		);

		$fields['network_count'] = array(
			'label' => __( 'Network count' ),
			'value' => $network_query->found_networks,
		);
	}

	$fields['user_count'] = array(
		'label' => __( 'User count' ),
		'value' => get_user_count(),
	);

	// WordPress features requiring processing.
	$wp_dotorg = wp_remote_get( 'https://wordpress.org', array( 'timeout' => 10 ) );

	if ( ! is_wp_error( $wp_dotorg ) ) {
		$fields['dotorg_communication'] = array(
			'label' => __( 'Communication with WordPress.org' ),
			'value' => __( 'WordPress.org is reachable' ),
			'debug' => 'true',
		);
	} else {
		$fields['dotorg_communication'] = array(
			'label' => __( 'Communication with WordPress.org' ),
			'value' => sprintf(
			/* translators: 1: The IP address WordPress.org resolves to. 2: The error returned by the lookup. */
				__( 'Unable to reach WordPress.org at %1$s: %2$s' ),
				gethostbyname( 'wordpress.org' ),
				$wp_dotorg->get_error_message()
			),
			'debug' => $wp_dotorg->get_error_message(),
		);
	}

	return array(
		'label'  => __( 'WordPress' ),
		'fields' => $fields,
	);
}

Changelog

VersionDescription
6.7.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.