¿Cómo puedo evitar que TinyMCE convierta mis entidades HTML en caracteres?
Aquí está el problema: pego el código de entidad HTML para, digamos, una marca de servicio (℠
) en la vista HTML del editor. Tan pronto como cambio a la pestaña "visual", mi código de entidad se convierte en un carácter real de marca de servicio (supongo que el carácter UTF-8 correspondiente o algo así? No sé mucho sobre codificaciones de caracteres...). No quiero esto, quiero que permanezca como la referencia de entidad.
¿Hay algún tipo de configuración que pueda cambiar para evitar que TinyMCE haga esto? Por lo que entiendo de lo que he leído en internet, este no es el comportamiento predeterminado, que TinyMCE debería estar haciendo lo contrario y convertir los caracteres a sus entidades. Entonces, ¿esto es algo específico de la versión de TinyMCE de WordPress?

De acuerdo con esta página, puedes usar el filtro tiny_mce_before_init
, asegurarte de que la codificación de entidades esté configurada como named
, y luego agregar los caracteres especiales que desees al array de entidades.

¡Gracias, fdsa!
Para posteridad, aquí está el código real que usé. Añade los símbolos de copyright, registrado, marca registrada, marca de servicio y euro al array de entidades permitidas. Me confunde por qué algunos de estos no están incluidos por defecto, ya que son bastante comunes. Pero en cualquier caso, esto funciona:
// Configuración personalizada para TinyMCE
function wpsx_54398_configure_tiny_mce( $initArray ) {
// Añade algunas entidades comunes al array por defecto (copy, reg, trade, service mark, euro)
// Las entradas impares son el *número* de la entidad, las pares son el *nombre* de la entidad. Si la entidad no tiene nombre,
// usa el número, prefijado con un hash (por ejemplo, la marca de servicio es "8480,#8480").
$initArray['entities'] = $initArray['entities'] . ',169,copy,174,reg,8482,trade,8480,#8480,8364,euro';
return $initArray;
}
add_filter('tiny_mce_before_init', 'wpsx_54398_configure_tiny_mce');
