_wp_kses_allow_note_mention_span()WP 7.1.0

Allows the note mention chip markup in comment content.

The notes @ mention completer stores a mention as a chip carrying the mentioned user's ID in a class token: <span class="wp-note-mention user-N">@Name</span>. The default comment allowlist does not allow span at all, so for users without unfiltered_html the mention would be stripped on save.

The allowance is deliberately narrow and always on: span is a semantics-free element and _wp_kses_sanitize_note_mention_classes() reduces its class to the two mention tokens right after kses runs, so regular (including anonymous) commenters gain nothing beyond the inert mention markup itself.

Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.

No Hooks.

Returns

array<string,. array<string, bool>> Modified allowed tags structure.

Usage

_wp_kses_allow_note_mention_span( $allowed, $context ): array;
$allowed(required)
.
$context(string) (required)
The kses context.

Changelog

Since 7.1.0 Introduced.

_wp_kses_allow_note_mention_span() code WP 7.1

function _wp_kses_allow_note_mention_span( $allowed, $context ): array {
	if ( ! is_array( $allowed ) ) {
		$allowed = array();
	}
	if ( 'pre_comment_content' !== $context ) {
		return $allowed;
	}

	if ( ! isset( $allowed['span'] ) || ! is_array( $allowed['span'] ) ) {
		$allowed['span'] = array();
	}

	$allowed['span']['class'] = true;

	return $allowed;
}