Cara menonaktifkan TinyMCE dari menghapus tag rentang

10

Saya memposting Word yang dihasilkan HTML ke WordPress melalui XMLRPC. Sebelum saya pergi ke post.php, format disimpan dengan benar dalam database. TinyMCE melakukan keajaibannya dan saya kehilangan beberapa detail format.
Masalah utama yang saya lihat adalah bahwa <span>tag dengan informasi gaya di sekitar elemen lainnya dihapus. Saya telah memverifikasi bahwa tag ini memang dihapus oleh TinyMCE dan bukan Kses. Apakah ada cara untuk mencegah TinyMCE dari mengubah HTML? saya telah mencoba

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;
}

yang tidak membantu. Menurut dokumentasi TinyMCE , "verifikasi_html"

Opsi ini mengaktifkan atau menonaktifkan fungsi pembersihan elemen. Jika Anda mengatur opsi ini ke false, semua pembersihan elemen akan dilewati tetapi fungsi pembersihan lainnya seperti konversi URL masih akan dieksekusi.

ltfishie
sumber

Jawaban:

6

Saya tidak dapat menemukan extended_valid_elementsopsi di panel pengaturan untuk TinyMCE tingkat lanjut, tetapi menambahkan yang berikut ini untuk functions.phpmenyelesaikannya:

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');

Sumber

Sim
sumber
4

Saya hampir selalu menggunakan plugin TinyMCE Advanced - ada halaman admin (Pengaturan-> TinyMCE Config) yang memungkinkan Anda menambahkan tag yang didukung menggunakan extended_valid_elementsopsi. Cukup tambahkan spandan tag lain apa pun yang tidak ingin Anda hapus dan nikmati!

SickHippie
sumber
Terima kasih, TinyMCE Advanced melakukan hal yang persis sama dengan kode saya di atas untuk menambahkan extended_valid_elements. Tetapi saya akan melakukannya dengan plugin. Mungkin saya ada bug di suatu tempat di kode saya.
ltfishie
Instal dan coba - jika berhasil, maka masalahnya adalah kode Anda. Jika tidak, sesuatu yang lain akan menimpanya di tingkat plugin atau tema.
SickHippie
2
Saya tidak dapat menemukan tempat di versi terbaru TinyMCE Advanced untuk menambahkan elemen
Nicola Peluchetti
Itu tidak mengherankan, karena posting ini berusia 3 1/2 tahun.
SickHippie