Saya tidak ingin menggunakan WYSIWYG di bagian atas Jenis Posting Kustom saya. Saya ingin menggunakan bidang teks khusus yang bisa saya tempatkan di bagian bawah daftar bidang kustom saya.
Apakah ini mungkin?
Saya tidak ingin menggunakan WYSIWYG di bagian atas Jenis Posting Kustom saya. Saya ingin menggunakan bidang teks khusus yang bisa saya tempatkan di bagian bawah daftar bidang kustom saya.
Apakah ini mungkin?
Jawaban:
add_action('init', 'init_remove_support',100);
function init_remove_support(){
$post_type = 'your post type';
remove_post_type_support( $post_type, 'editor');
}
letakkan ke tema Anda functions.php
supports
parameter dalam UI-nya. Lihat screenshot ini .
Anda sebenarnya dapat menonaktifkan editor WYSIWYG, hanya menyisakan editor sumber html. Pilih fungsi di bawah ini:
// disable wyswyg for custom post type, using the global $post
add_filter('user_can_richedit', function( $default ){
global $post;
if( $post->post_type === 'product') return false;
return $default;
});
// disable wyswyg for custom post type, using get_post_type() function
add_filter('user_can_richedit', function( $default ){
if( get_post_type() === 'product') return false;
return $default;
});
Atau, Anda dapat menangani dukungan post-editor secara langsung dalam register_post_type()
panggilan Anda , melalui 'supports'
parameter dalam $args
array.
Nilai default adalah: 'supports' => array( 'title', 'editor' )
.
Anda dapat mengubahnya ke apa pun yang Anda butuhkan; misalnya: 'supports' => array( 'title' )
.
Re: komentar ini:
Saya menggunakan UI Jenis Khusus dalam kombo dengan AdvancedCustomFields.
The Jenis Kustom Pasang UI Plugin mengekspos semua register_post_type()
$args
parameter array dalam UI.
Dalam hal ini, Anda hanya perlu menemukan bagian Dukungan , dan nonaktifkan / hapus centang Editor :
Cara lain yang lebih konsisten untuk menonaktifkan editor WYSIWYG, hanya menyisakan editor sumber html - adalah dengan melarang tinymce menggunakan filter "wp_editor_settings" untuk jenis posting kustom Anda.
function my_post_type_editor_settings( $settings ) {
global $post_type;
if ( $post_type == 'my_post_type' ) {
$settings[ 'tinymce' ] = false;
}
return $settings;
}
add_filter( 'wp_editor_settings', 'my_post_type_editor_settings' );
remove_post_type_support()
di dalam panggilan balik yang sama yang Anda panggilregister_post_type()
, untuk memastikan urutan eksekusi yang tepat.