Aún así permitir código arbitrario (más allá del que WordPress define) tiene usos legítimos, como en un blog privado donde se supone que todos los usuarios saben lo que hacen, o en todo caso solo permitírselo a los usuarios registrados del blog.

WordPress utiliza Kses, un validador/filtro de etiquetas (X)HTML que facilita mucho el filtrado del contenido deseado. Cualquier plugin puede modificar las reglas por defecto de WordPress, definidas por la variable $allowedtags en /wp-includes/kses.php linea 291, o incluso remplazarlas por completo si define CUSTOM_TAGS.

Por ejemplo si solo queremos permitirle a los usuarios que puedan incluir imágenes en sus comentarios, agregaríamos un elemento a $allowedtags de esta forma:

function allowcode () {

	global $allowedtags;

	$allowedtags['img'] = array (
		'alt' => array (),
		'class' => array (),
		'height' => array (),
		'src' => array (),
		'width' => array () 
	);
}

add_action('init', 'allowcode', 9);

Usamos la acción init con tal de no interferir con otras definiciones (si las hubiera). $allowedtags['img'] representa el tag que queremos permitir durante el filtrado, que es un array() de los atributos permitidos; esto solo se agrega a los elementos ya definidos en el array $allowedtags, no remplaza nada. Si se encuentra un atributo que no esté definido dentro del array, simplemente será eliminado.

Si quisiéramos que se permitan incluir div's solo con el atributo class (para estilos especiales en los comentarios), se definiría de esta forma:

$allowedtags['div'] = array (
	'class' => array()
);

¿Y si solo queremos que los usuarios registrados tengan este privilegio? Una pequeña modificación a la función lo arregla:

function allowcode () {
	$user = wp_get_current_user();
	if ( !$user->ID )  return;
......
}

Vale aclarar que los administradores y editores de blog poseen el privilegio unfiltered_html, lo que les permite publicar cualquier código HTML o JavaScript que deseen, incluso en comentarios. Claro permitirle hacer cualquier cosa a un usuario que no sabe es casi estar dispuesto a recibir un tiro en la cabeza.

Dejo como sería el plugin -completo- para permitir que cualquiera pueda insertar imágenes en los comentarios. Va por cuenta y riesgo de cada uno 😉