I hope that you don’t have to modify the allowed array with the full data name (data-term) for this to work…
It appears to be that way. data-term
and data
aren’t the same attribute after all, and poking around in core I don’t think any sort of regular expressions can be used as supported attributes.
You shouldn’t need to run wp_kses()
on your own markup though, you should know it’s safe. wp_kses()
is generally just for handling untrusted input from users. Are users going to be submitting data- attributes, and you need to support them all?
You could do something like this instead:
$my_var="<div class="my-class" data-term="" . esc_attr( $term_id ) . '">' . wp_kses_post( $content ) . '</div>';
That uses wp_kses_post()
which will use the default allowed html for posts, but it’s only going to apply to whatever $content
is.