Cum să dezactivezi TinyMCE să nu elimine etichetele span
Postez HTML generat de Word în WordPress prin XMLRPC. Înainte să ajung la post.php, formatul este păstrat corect în baza de date. TinyMCE își face "magia" și pierd destul de multe detalii de formatare.
Principala problemă pe care o observ este că eticheta <span>
cu informații de stil care înconjoară alte elemente este eliminată. Am verificat că aceste etichete sunt într-adevăr eliminate de TinyMCE și nu de Kses.
Există vreo modalitate de a împiedica TinyMCE să modifice HTML-ul? Am încercat
add_filter('tiny_mce_before_init', 'tinymce_init');
function tinymce_init( $init ) {
$init['extended_valid_elements'] .= ', span[style|id|nam|class|lang]';
$init['verify_html'] = false;
return $init;
}
care nu a ajutat. Conform documentației TinyMCE, "verify_html"
Această opțiune activează sau dezactivează funcționalitatea de curățare a elementelor. Dacă setați această opțiune pe false, toată curățarea elementelor va fi omisă, dar alte funcționalități de curățare precum conversia URL-urilor vor fi în continuare executate.

Nu am putut găsi opțiunea extended_valid_elements
în panoul de setări pentru TinyMCE advanced, dar adăugarea următoarelor în fișierul meu functions.php
a rezolvat problema:
function override_mce_options($initArray) {
$opts = '*[*]';
$initArray['valid_elements'] = $opts;
$initArray['extended_valid_elements'] = $opts;
return $initArray;
} add_filter('tiny_mce_before_init', 'override_mce_options');

Folosesc aproape întotdeauna pluginul TinyMCE Advanced - există o pagină de administrare (Setări->Configurare TinyMCE) care vă permite să adăugați tag-uri suportate folosind opțiunea extended_valid_elements
. Pur și simplu adăugați span
și orice alte tag-uri pe care nu doriți să fie eliminate și bucurați-vă!

Mulțumesc, TinyMCE Advanced face exact același lucru ca și codul meu de mai sus pentru a adăuga extended_valid_elements. Dar voi folosi plugin-ul. Poate că este o eroare undeva în codul meu.

Instalează-l și încearcă-l - dacă funcționează, atunci problema este în codul tău. Dacă nu funcționează, altceva îl suprascrie la nivel de plugin sau temă.

Nu am găsit un loc în ultima versiune de TinyMCE Advanced pentru a adăuga elemente

Dacă folosești pluginul TinyMCE Advanced, există un plugin complementar numit TinyMCE Advanced Configuration, prin care poți modifica setările de configurare, cum ar fi opțiunea extended_valid_elements.
