Я не хочу використовувати 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');
}
розмістіть його на своїх темах function.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()
, щоб забезпечити належний порядок виконання.