Come impedire a TinyMCE di convertire le entità HTML in caratteri?
Ecco il problema: quando incollo il codice di un'entità HTML, ad esempio per un service mark (℠
), nella visualizzazione HTML dell'editor. Non appena passo alla scheda "visuale", il mio codice entità viene trasformato in un vero carattere di service mark (suppongo il corrispondente carattere UTF-8 o qualcosa del genere? Non sono esperto di codifiche di caratteri...). Non voglio questo comportamento - voglio che rimanga come riferimento all'entità.
Esiste qualche configurazione che posso modificare per impedire a TinyMCE di fare questo? Da quello che ho capito leggendo in giro, questo non dovrebbe essere il comportamento predefinito - TinyMCE dovrebbe fare esattamente il contrario, convertendo i caratteri nelle loro entità. Quindi è qualcosa di specifico alla versione di TinyMCE di WordPress?
Secondo questa pagina, puoi utilizzare il filtro tiny_mce_before_init
, assicurarti che la codifica dell'entità sia impostata su named
, e quindi aggiungere i caratteri speciali che desideri all'array entities.

Grazie, fdsa!
Per completezza, ecco il codice effettivo che ho utilizzato. Aggiunge copyright, registered, trademark, service mark ed euro all'array delle entità consentite. Sono confuso sul motivo per cui alcune di queste non siano incluse di default, dato che sono molto comuni. Ma in ogni caso, questo funziona:
// Configurazione personalizzata per TinyMCE
function wpsx_54398_configure_tiny_mce( $initArray ) {
// Aggiunge alcune entità comuni all'array di default (copy, reg, trade, service mark, euro)
// Le voci dispari sono il *numero* dell'entità, quelle pari il *nome* dell'entità. Se l'entità non ha nome,
// usa il numero, prefissato con un cancelletto (ad esempio, il service mark è "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');
