wp_privacy_generate_personal_data_export_group_html()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
wp_privacy_generate_personal_data_export_group_html( array $group_data, string $group_id = '', int $groups_count = 1 ): string
Описание
Формирует отдельную группу для отчёта экспорта персональных данных.
Параметры
$group_data
array
обязательный
group_labelstringThe user-facing heading for the group, e.g.'Comments'.itemsarray An array of group items.group_item_dataarray An array of name-value pairs for the item.namestringThe user-facing name of an item name-value pair, e.g. ‘IP Address’.valuestringThe user-facing value of an item data pair, e.g.'50.60.70.0'.
}
$group_idstringoptionalThe group identifier.Default:
''$groups_countintoptionalThe number of all groupsDefault:
Return string The HTML for this group and its items. Source1function 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 ( ! str_contains( $value, ' ' ) && ( str_starts_with( $value, 'http://' ) || str_starts_with( $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; }View all references View on Trac View on GitHub
Related
Show 3 moreShow lessUses Description esc_html__() wp-includes/l10n.phpRetrieves the translation of $text and escapes it for safe use in HTML output.
sanitize_title_with_dashes() wp-includes/formatting.phpSanitizes a title, replacing whitespace and a few other characters with dashes.
wp_kses() wp-includes/kses.phpFilters text content and strips out disallowed HTML.
esc_attr() wp-includes/formatting.phpEscaping for HTML attributes.
esc_html() wp-includes/formatting.phpEscaping for HTML blocks.
esc_url() wp-includes/formatting.phpChecks and cleans a URL.
ChangelogUsed by Description wp_privacy_generate_personal_data_export_file() wp-admin/includes/privacy-tools.phpGenerate the personal data export file.
Version Description 5.4.0 Added the $group_idand$groups_countparameters.4.9.6 Introduced.
You must log in before being able to contribute a note or feedback.
Возвращаемое значение
string
Исходный код
wp-admin/includes/privacy-tools.php:252
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 ( ! str_contains( $value, ' ' ) && ( str_starts_with( $value, 'http://' ) || str_starts_with( $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;
}
История изменений
| Версия | Описание |
|---|---|
| 5.4.0 | Added the $group_id and $groups_count parameters. |
| 4.9.6 | Introduced. |

