Saya tidak yakin mengapa saya belum dapat menemukan ini, tetapi apakah ada yang tahu bagaimana cara mendapatkan input dari editor TinyMCE? Saya menggunakannya di ujung depan dan ingin dapat menyimpan apa pun yang diketik pengguna ke TinyMCE ke database tetapi tidak dapat menemukan cara terbaik untuk menangkap nilai itu.
Dua solusi yang telah saya terapkan dengan beberapa keberhasilan adalah:
tinyMCE.activeEditor.getContent();
- Yang ini sepertinya hanya mendapatkan nilai dari editor visual jadi jika saya berada di editor HTML dan membuat perubahan dan kemudian menyimpan, mereka tidak diambil.$('#html_text_area_id').val();
- Yang ini kebalikannya, sepertinya hanya mendapatkan nilai dari editor HTML.
Saya tahu ada cara yang lebih baik - sepertinya saya tidak bisa menemukannya ...
ps Ya, saya akan menerapkan langkah-langkah keamanan untuk memastikan orang tidak dapat meledakkan basis data.
val()
Jawaban:
Ok rupanya WordPress melacak jenis editor (visual atau html) yang aktif sebagai kelas yang ditambahkan ke pembungkus konten, jadi di sini ada solusi yang akan memberi Anda konten terbaru di editor
sumber
Itulah kode yang saya tambahkan ke javascript saya, tepat sebelum formulir dikirimkan.
sumber
Ini bekerja untuk saya:
Di mana deskripsi adalah ID editor tinymce dan kode de setelah jawaban lain yang diterima, tidak berfungsi untuk saya.
sumber
Saya memerlukan lebih banyak kode untuk membuatnya berfungsi, dan juga mendapatkan kesalahan javascript:
Deprecated TinyMCE API call: <target>.onKeyUp.add(..)
Ini disebabkan oleh peningkatan wordpress dari 3.x ke 4. Jadi saya harusclear my browser cache
terlebih dahulu.Pertama saya menambahkan panggilan balik ke filter wp
tiny_mce_before_init
di file functions.php saya, ini memungkinkan saya untuk menambahkan fungsi panggilan balik js yang akan diaktifkan ketika editor diinisialisasi:Selanjutnya fungsi javascript untuk melakukan apa yang diinginkan dengan konten ketika itu berubah. Tambahkan javascript ini menggunakan wp_enqueue_scripts ke halaman yang Anda inginkan.
Kode berfungsi ketika saya menggunakan yang berikut ini untuk mencetak editor ke halaman mana saja:
sumber
Anda bisa mendapatkan konten tergantung pada mode editor saat ini.
The Visual tab memiliki kelas
switch-tmce
yang dapat Anda gunakan untuk mengidentifikasi sebagai tab. Anda akan tahu bahwa itu telah difokuskan jika memiliki warna latar belakang yang lebih terang. Jadi, Anda juga dapat menggunakannya untuk menentukan tab mana yang aktif.Ini adalah solusi adaptif berdasarkan Bainternet 's jawaban . Mungkin ada cara lain yang lebih baik untuk melakukannya tetapi yang ini bekerja dengan baik untuk saya.
sumber
Anda juga dapat menggunakan
addeditor
acara:Dokumentasi acara 'tambahitor' TinyMCE
sumber