Я не хочу использовать WYSIWYG в верхней части моего пользовательского типа сообщения. Я хочу использовать текстовое поле настраиваемого поля, которое вместо этого я могу поместить внизу списка настраиваемых полей.
Это возможно?
Я не хочу использовать WYSIWYG в верхней части моего пользовательского типа сообщения. Я хочу использовать текстовое поле настраиваемого поля, которое вместо этого я могу поместить внизу списка настраиваемых полей.
Это возможно?
Ответы:
add_action('init', 'init_remove_support',100);
function init_remove_support(){
$post_type = 'your post type';
remove_post_type_support( $post_type, 'editor');
}
поместите его в ваши темы functions.php
supports
параметр в своем пользовательском интерфейсе.Обратитесь к этим скриншотам .
Вы можете фактически отключить редактор WYSIWYG, оставив только редактор HTML-кода. Выберите функцию ниже:
// 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;
});
В качестве альтернативы, вы можете обрабатывать поддержку постредактора непосредственно в вашем register_post_type()
вызове через 'supports'
параметр в $args
массиве.
Значение по умолчанию: 'supports' => array( 'title', 'editor' )
.
Вы можете изменить это на то, что вам нужно; например: 'supports' => array( 'title' )
.
Re: этот комментарий:
Я использую пользовательский интерфейс типов в комбинации с AdvancedCustomFields.
ТАМОЖЕННЫЙ ПОСТ Типы UI Плагин предоставляет все изregister_post_type()
$args
параметры массива в его интерфейсе.
В этом случае вам просто нужно найти раздел « Поддержка » и отключить / снять флажок « Редактор» :
Другой, более последовательный способ отключить редактор WYSIWYG, оставляя только редактор исходного кода html, - запретить использование tinymce, используя фильтр «wp_editor_settings» для вашего пользовательского типа записи.
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()
внутри того же обратного вызова, который вы вызываетеregister_post_type()
, чтобы обеспечить правильный порядок выполнения.