WordPress at Your Fingertips
function is not described

WP_Debug_Data::format() public WP 5.2.0

Format the information gathered for debugging, in a manner suitable for copying to a forum or support ticket.

{} It's a method of the class: WP_Debug_Data{}

No Hooks.

Return

String. The formatted data.

Usage

$result = WP_Debug_Data::format( $info_array, $type );
$info_array(array) (required)
Information gathered from the WP_Debug_Data::debug_data function.
$type(string) (required)
The data type to return, either 'info' or 'debug'.

Changelog

Since 5.2.0 Introduced.

Code of WP_Debug_Data::format() WP 5.8.2

public static function format( $info_array, $type ) {
	$return = "`\n";

	foreach ( $info_array as $section => $details ) {
		// Skip this section if there are no fields, or the section has been declared as private.
		if ( empty( $details['fields'] ) || ( isset( $details['private'] ) && $details['private'] ) ) {
			continue;
		}

		$section_label = 'debug' === $type ? $section : $details['label'];

		$return .= sprintf(
			"### %s%s ###\n\n",
			$section_label,
			( isset( $details['show_count'] ) && $details['show_count'] ? sprintf( ' (%d)', count( $details['fields'] ) ) : '' )
		);

		foreach ( $details['fields'] as $field_name => $field ) {
			if ( isset( $field['private'] ) && true === $field['private'] ) {
				continue;
			}

			if ( 'debug' === $type && isset( $field['debug'] ) ) {
				$debug_data = $field['debug'];
			} else {
				$debug_data = $field['value'];
			}

			// Can be array, one level deep only.
			if ( is_array( $debug_data ) ) {
				$value = '';

				foreach ( $debug_data as $sub_field_name => $sub_field_value ) {
					$value .= sprintf( "\n\t%s: %s", $sub_field_name, $sub_field_value );
				}
			} elseif ( is_bool( $debug_data ) ) {
				$value = $debug_data ? 'true' : 'false';
			} elseif ( empty( $debug_data ) && '0' !== $debug_data ) {
				$value = 'undefined';
			} else {
				$value = $debug_data;
			}

			if ( 'debug' === $type ) {
				$label = $field_name;
			} else {
				$label = $field['label'];
			}

			$return .= sprintf( "%s: %s\n", $label, $value );
		}

		$return .= "\n";
	}

	$return .= '`';

	return $return;
}