Editor baru bernama Gutenberg ada di sini sebagai plugin di 4.9, dan sebagai fungsionalitas inti yang disebut Block Editor, di 5.0. Mengenai hal itu, sering diperlukan untuk menentukan secara terprogram editor mana yang digunakan untuk mengedit posting atau halaman di konsol situs. Bagaimana cara melakukannya?
Pembaruan: Ada sejumlah jawaban usang untuk pertanyaan serupa:
gutenberg_post_has_blocks()
- fungsi ini hanya ada di plugin Gutenberg, dan tidak di 5.0 Coreis_gutenberg_page()
- samathe_gutenberg_project()
- samahas_blocks()
- tidak berfungsi (mengembalikan false) ketika Editor Klasik aktif dan pilihannya "Editor default untuk semua pengguna" = "Blokir Editor"- Jawabannya hanya menghasilkan kesalahan fatal
Call to undefined function get_current_screen()
Jadi, sebelum mengomentari pertanyaan dan jawaban ini, silakan bekerja untuk memeriksa apa yang Anda usulkan. Periksa sekarang, dengan 4.9 dan WordPress versi saat ini, dan semua kemungkinan kombinasi Editor Klasik dan Editor Gutenberg / Blok. Saya akan senang membahas solusi yang diuji, bukan tautan ke sesuatu.
block-editor
Desain KAGG
sumber
sumber
the_gutenberg_project()
fungsi hanya ada di plugin Gutenberg, tetapi tidak di WP 5.0 Core.Jawaban:
Ada beberapa varian:
Semua varian yang disebutkan dapat diproses dengan kode berikut:
Fungsi mengembalikan true jika editor blok aktif dengan cara apa pun, dan salah - dalam kasus ini jika editor klasik ada di sini. Fungsi ini hanya boleh digunakan setelah
plugins_loaded
aksi dipecat.PS Karena rilis versi 1.2 dari plugin Editor Klasik, kode diperbarui, karena
classic-editor-replace
opsi sekarang mengambil nilai bukanreplace
danno-replace
, tetapiclassic
danblock
.sumber
Kamu bisa menggunakan
yang hanya dipecat saat mengedit konten dengan Gutenberg.
sumber
enqueue_block_assets
?has_action( 'enqueue_block_assets' )
melakukan hal yang samahas_filter( 'replace_editor'
pada kode saya. Ini mengembalikan true jika Classic Editor aktif dan menetapkan Classic Editor sebagai default. Lebih baik memeriksa apa yang Anda usulkan sebelum menulis.