wp_privacy_generate_personal_data_export_group_html() WordPress Function
The wp_privacy_generate_personal_data_export_group_html() function is used to generate HTML for a group of personal data for an export request.
wp_privacy_generate_personal_data_export_group_html( array $group_data, string $group_id = '', int $groups_count = 1 ) #
Generate a single group for the personal data export report.
Parameters
- $group_data
(array)(Required)The group data to render.
- 'group_label'
(string) The user-facing heading for the group, e.g. 'Comments'. - 'items'
(array) An array of group items.- 'group_item_data'
(array) An array of name-value pairs for the item.- 'name'
(string) The user-facing name of an item name-value pair, e.g. 'IP Address'. - 'value'
(string) The user-facing value of an item data pair, e.g. '50.60.70.0'. }
- 'name'
- 'group_item_data'
- 'group_label'
- $group_id
(string)(Optional)The group identifier.
Default value: ''
- $groups_count
(int)(Optional)The number of all groups
Default value: 1
Return
(string) The HTML for this group and its items.
Source
File: wp-admin/includes/privacy-tools.php
function wp_privacy_generate_personal_data_export_group_html( $group_data, $group_id = '', $groups_count = 1 ) { $group_id_attr = sanitize_title_with_dashes( $group_data['group_label'] . '-' . $group_id ); $group_html = '<h2 id="' . esc_attr( $group_id_attr ) . '">'; $group_html .= esc_html( $group_data['group_label'] ); $items_count = count( (array) $group_data['items'] ); if ( $items_count > 1 ) { $group_html .= sprintf( ' <span class="count">(%d)</span>', $items_count ); } $group_html .= '</h2>'; if ( ! empty( $group_data['group_description'] ) ) { $group_html .= '<p>' . esc_html( $group_data['group_description'] ) . '</p>'; } $group_html .= '<div>'; foreach ( (array) $group_data['items'] as $group_item_id => $group_item_data ) { $group_html .= '<table>'; $group_html .= '<tbody>'; foreach ( (array) $group_item_data as $group_item_datum ) { $value = $group_item_datum['value']; // If it looks like a link, make it a link. if ( false === strpos( $value, ' ' ) && ( 0 === strpos( $value, 'http://' ) || 0 === strpos( $value, 'https://' ) ) ) { $value = '<a href="' . esc_url( $value ) . '">' . esc_html( $value ) . '</a>'; } $group_html .= '<tr>'; $group_html .= '<th>' . esc_html( $group_item_datum['name'] ) . '</th>'; $group_html .= '<td>' . wp_kses( $value, 'personal_data_export' ) . '</td>'; $group_html .= '</tr>'; } $group_html .= '</tbody>'; $group_html .= '</table>'; } if ( $groups_count > 1 ) { $group_html .= '<div class="return-to-top">'; $group_html .= '<a href="#top"><span aria-hidden="true">↑ </span> ' . esc_html__( 'Go to top' ) . '</a>'; $group_html .= '</div>'; } $group_html .= '</div>'; return $group_html; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
5.4.0 | Added the $group_id and $groups_count parameters. |
4.9.6 | Introduced. |