Tidak ada filter kode saat beralih dari html ke editor visual, bagaimana?

9

Ya, saya telah menemukan pertanyaan lain untuk topik ini, tetapi tidak memiliki topik yang sama persis dan tidak ada solusi untuk masalah saya.

Jika Anda memasukkan kode di dalam html-tab dan Anda beralih ke mode visual, kemudian memformat WP kode ke blok, menghapus semua jeda dan meninggalkan garis, lihat screenshot. Saya pikir ini lebih mudah dipahami sebagai bahasa Inggris saya yang buruk.

contoh saya di html-tab masukkan deskripsi gambar di sini

contoh yang sama setelah beralih ke visual masukkan deskripsi gambar di sini

Tes saya untuk solusi. Saya telah menguji ini untuk menghentikan WP untuk ini dengan mengikuti tes plugin, juga dapat dibaca di 166.365 Gist ini

add_filter( 'tiny_mce_before_init', 'fb_tinymce', 9 );

function fb_tinymce( $init ) {

    $init['fix_list_elements'] = FALSE;
    $init['wpautop'] = FALSE;
    $init['remove_linebreaks'] = FALSE;
    $init['apply_source_formatting'] = TRUE;
    $init['extended_valid_elements'] .= ',pre[*],code[*]';

    return $init;
}

Mungkin pembaca lain memiliki solusi untuk topik ini.

bueltge
sumber
Apakah saya mengerti ini? Anda ingin menghentikan editor untuk menghapus jeda baris di dalam kode?
kaiser
ya, jika Anda memasukkan kode pada html-editor dan beralih ke mode visual, WP hapus semua jeda, paragraf. Ini berfungsi dengan editor.js dan saya tidak suka filter untuk ini; mungkin kode keras dan satu-satunya tujuan saya adalah mengganti js ini; tapi itu tidak terlalu baik; saya akan menonaktifkan fitur ini sekali.
bueltge

Jawaban:

3

Yap, itu sangat menyakitkan. 99% tutorial 'nonaktifkan wpautop' benar-benar ketinggalan acara pengalihan tab. Bagaimanapun, Anda harus mencoba plugin saya - http://wordpress.org/extend/plugins/preserved-html-editor-markup/

Tidak hanya itu akan melindungi markup Anda dari yang dihancurkan oleh wpautop, tetapi itu akan menjaga jeda baris dan lekukan sementara masih memungkinkan Anda untuk menggunakan editor HTML dan editor Visual.

Versi saat ini benar - benar akan menonaktifkan wpautop, jadi jika Anda memiliki konten yang tergantung pada wpautop, situs Anda mungkin tidak dapat merender dengan benar tanpa mengubah konten yang ada. Saya sedang mengerjakan versi baru yang akan memformat ulang konten yang sudah ada untuk memperbaikinya. Itu harus siap pada akhir minggu.

Marcus Pope
sumber
Versi 1.5 akan segera dirilis, yang juga akan mencakup dukungan untuk blok skrip nyata. Dan versi 1.4 (stable saat ini) memungkinkan untuk dimasukkannya tanda p atau tanda br, sehingga Anda dapat menggunakan berdasarkan preferensi Anda.
Marcus Pope
Apakah Anda menyadari fungsi untuk pertanyaan saya dengan JS atau PHP, melalui Filter? Saya hanya mencari fungsi, bahwa kode di dalamnya preatau codetidak berubah dari tinyMCE. Saya tidak akan solusi, ada filter setelah the_content, sementara lebih banyak kinerja. Terima kasih!
bueltge
@ Bueltge - Saya tidak begitu mengerti pertanyaannya. Plugin saya melakukan banyak hal untuk memperbaiki masalah ini, jadi saya tidak bisa menjelaskan secara singkat filter spesifik yang saya gunakan. Anda tentu dapat melihat kode sumber plugin saya untuk mengetahui bagaimana saya melakukannya.
Marcus Pope
Ya, saya dapat membaca di sumber Anda; tapi mungkin lebih mudah jika Anda memberi saya catatan tentang solusi hanya untuk masalah saya. Plugin Anda memperbaiki banyak topik di area ini.
bueltge
0

Saya pikir solusi termudah untuk apa yang Anda gambarkan adalah sebuah plugin seperti: http://wordpress.org/extend/plugins/wp-no-format/

Namun, Anda mungkin juga ingin melihat plugin penyorotan sintaks ... bahkan ada satu untuk menanamkan inti oleh id.

jb510
sumber
Saya pikir, ini bukan solusi, hanya filter plugin ini the_content-Hook. Hook ini hanya ada di frontend untuk mendapatkan konten, bukan di dalam editor.
bueltge
Maaf. Itu benar, ini tidak mencegah saklar editor visual memformat ulang kode .... Sudah lama sejak id benar-benar menggunakannya dan melihat sekarang di situs lama saya menggunakannya bersama dengan Nonaktifkan Visual Editor.
jb510
0

Gunakan plugin Scripts n Styles. http://wordpress.org/extend/plugins/scripts-n-styles/ Diciptakan untuk "Melompati rintangan" dan menghindari bug wpautop, khususnya bug tab-switching.

Anda akan memasukkan [sns_shortcode name = "{name}"] di editor, dan konten Anda di tab Shortcodes. Itu sintaks yang disorot dan saya telah bekerja keras untuk kode dengan baik.

WraithKenny
sumber