Cum pot opri TinyMCE să-mi convertească entitățile HTML în caractere?
Iată problema: introduc codul entității HTML pentru, să zicem, un semn de serviciu (℠
) în vizualizarea HTML a editorului. Imediat ce trec la fila "vizual", codul meu de entitate este transformat într-un caracter real de semn de serviciu (presupun că caracterul UTF-8 corespunzător sau ceva de genul? Nu sunt expert în codificări de caractere...). Nu vreau asta - vreau să rămână ca referință de entitate.
Există vreo configurație pe care o pot schimba pentru a opri TinyMCE să facă asta? Din ce am citit pe internet, înțeleg că acesta nu este comportamentul implicit - că TinyMCE ar trebui de fapt să facă opusul și să convertească caracterele în entitățile lor. Deci, este ceva specific versiunii WordPress a TinyMCE?
Conform acestei pagini, poți utiliza filtrul tiny_mce_before_init
, asigurându-te că codificarea entităților este setată la named
, și apoi adaugă orice caractere speciale dorești în array-ul entities.

Mulțumesc, fdsa!
Pentru posteritate, iată codul pe care l-am folosit efectiv. Adaugă simbolurile pentru copyright, înregistrat, marcă comercială, marcă de serviciu și euro în array-ul de entități permise. Sunt confuz de ce unele dintre acestea nu sunt incluse implicit, deoarece sunt foarte comune. Dar în orice caz, acest cod funcționează:
// Configurație personalizată pentru TinyMCE
function wpsx_54398_configure_tiny_mce( $initArray ) {
// Adaugă entități comune la array-ul implicit (copy, reg, trade, service mark, euro)
// Intrările impare sunt *numerele* entităților, iar cele pare sunt *numele* entităților. Dacă entitatea nu are nume,
// folosește numărul, prefixat cu diez (de exemplu, pentru service mark este "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');
