WP_Theme::sanitize_header()privateWP 3.4.0

Sanitizes a theme header.

Метод класса: WP_Theme{}

Хуков нет.

Возвращает

Строку|Массив. An array for Tags header, string otherwise.

Использование

// private - только в коде основоного (родительского) класса
$result = $this->sanitize_header( $header, $value );
$header(строка) (обязательный)
Theme header. Accepts 'Name', 'Description', 'Author', 'Version', 'ThemeURI', 'AuthorURI', 'Status', 'Tags', 'RequiresWP', 'RequiresPHP', 'UpdateURI'.
$value(строка) (обязательный)
Value to sanitize.

Список изменений

С версии 3.4.0 Введена.
С версии 5.4.0 Added support for Requires at least and Requires PHP headers.
С версии 6.1.0 Added support for Update URI header.

Код WP_Theme::sanitize_header() WP 6.4.3

private function sanitize_header( $header, $value ) {
	switch ( $header ) {
		case 'Status':
			if ( ! $value ) {
				$value = 'publish';
				break;
			}
			// Fall through otherwise.
		case 'Name':
			static $header_tags = array(
				'abbr'    => array( 'title' => true ),
				'acronym' => array( 'title' => true ),
				'code'    => true,
				'em'      => true,
				'strong'  => true,
			);

			$value = wp_kses( $value, $header_tags );
			break;
		case 'Author':
			// There shouldn't be anchor tags in Author, but some themes like to be challenging.
		case 'Description':
			static $header_tags_with_a = array(
				'a'       => array(
					'href'  => true,
					'title' => true,
				),
				'abbr'    => array( 'title' => true ),
				'acronym' => array( 'title' => true ),
				'code'    => true,
				'em'      => true,
				'strong'  => true,
			);

			$value = wp_kses( $value, $header_tags_with_a );
			break;
		case 'ThemeURI':
		case 'AuthorURI':
			$value = sanitize_url( $value );
			break;
		case 'Tags':
			$value = array_filter( array_map( 'trim', explode( ',', strip_tags( $value ) ) ) );
			break;
		case 'Version':
		case 'RequiresWP':
		case 'RequiresPHP':
		case 'UpdateURI':
			$value = strip_tags( $value );
			break;
	}

	return $value;
}