функция since 4.9.6

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 обязательный
The group data to render.
  • group_label stringThe 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 stringThe user-facing name of an item name-value pair, e.g. ‘IP Address’.
      • value stringThe user-facing value of an item data pair, e.g. '50.60.70.0'.
        }
      $group_idstringoptionalThe group identifier.

      Default:''

      $groups_countintoptionalThe number of all groups

      Default:1

      Return string The HTML for this group and its items. Source
      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">&uarr; </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
      UsesDescription
      esc_html__()wp-includes/l10n.php

      Retrieves the translation of $text and escapes it for safe use in HTML output.

      sanitize_title_with_dashes()wp-includes/formatting.php

      Sanitizes a title, replacing whitespace and a few other characters with dashes.

      wp_kses()wp-includes/kses.php

      Filters text content and strips out disallowed HTML.

      esc_attr()wp-includes/formatting.php

      Escaping for HTML attributes.

      esc_html()wp-includes/formatting.php

      Escaping for HTML blocks.

      esc_url()wp-includes/formatting.php

      Checks and cleans a URL.

      Show 3 moreShow less
      Used byDescription
      wp_privacy_generate_personal_data_export_file()wp-admin/includes/privacy-tools.php

      Generate the personal data export file.

      Changelog
      VersionDescription
      5.4.0Added the $group_id and $groups_count parameters.
      4.9.6Introduced.
    User Contributed Notes

    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">&uarr; </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.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.