¿Es posible eliminar el editor WYSIWYG para un tipo de contenido personalizado específico?
No quiero usar el editor WYSIWYG en la parte superior de mi tipo de contenido personalizado. En su lugar, quiero usar un campo de texto personalizado que pueda colocar al final de mi lista de campos personalizados.
¿Es esto posible?

Nota: Recomendaría llamar a remove_post_type_support()
dentro del mismo callback donde llamas a register_post_type()
, para garantizar el orden correcto de ejecución.

No veo register_post_type() en functions.php. Estoy usando Custom Types UI en combinación con AdvancedCustomFields.

Que estés usando el Plugin Custom Post Types UI es un detalle bastante importante para tu pregunta. :) El Plugin expone el parámetro supports
en su interfaz. Consulta estas capturas de pantalla.

Puedes desactivar el editor WYSIWYG, dejando solo el editor de código HTML. Elige una de las siguientes funciones:
// deshabilitar wyswyg para un tipo de contenido personalizado, usando la variable global $post
add_filter('user_can_richedit', function( $default ){
global $post;
if( $post->post_type === 'product') return false;
return $default;
});
// deshabilitar wyswyg para un tipo de contenido personalizado, usando la función get_post_type()
add_filter('user_can_richedit', function( $default ){
if( get_post_type() === 'product') return false;
return $default;
});

¿Hay alguna forma de eliminar solo el WYSIWYG del extracto? Mi tema lo tiene activado y tengo dudas sobre parte de su código, no estoy seguro de poder eliminarlo. Hice esta pregunta como una nueva pregunta aquí: https://wordpress.stackexchange.com/questions/300877/disable-wysiwyg-rich-text-editor-only-on-post-excerpt

Alternativamente, puedes manejar el soporte del editor de entradas directamente en tu llamada a register_post_type()
, mediante el parámetro 'supports'
en el array $args
.
El valor por defecto es: 'supports' => array( 'title', 'editor' )
.
Puedes cambiarlo según tus necesidades; por ejemplo: 'supports' => array( 'title' )
.

En respuesta a este comentario:
Estoy usando Custom Types UI en combinación con AdvancedCustomFields.
El Plugin Custom Post Types UI expone todos los parámetros del array $args
de register_post_type()
en su interfaz.
En este caso, solo necesitas encontrar la sección Supports y deshabilitar/desmarcar Editor:

Intentaré dar una respuesta más completa:
Si deseas eliminar completamente el editor de contenido
La respuesta de @Oleg Butuzov es buena:
add_action('init', 'init_remove_support',100);
function init_remove_support(){
$post_type = 'tu tipo de post';
remove_post_type_support( $post_type, 'editor');
}
Si solo quieres desactivar tinymce pero mantener las barras de herramientas HTML
La respuesta de @biziclop es buena:
add_filter('user_can_richedit', function( $default ){
global $post;
if( $post->post_type === 'product') return false;
return $default;
});
En este caso wp-content-editor-tools
ya es visible porque expand-editor.js inserta las barras de herramientas.
Si deseas reemplazar el editor tinymce por un simple textarea
Encontré la respuesta aquí.
function wpse_199918_wp_editor_settings( $settings, $editor_id ) {
if ( $editor_id === 'content' && get_current_screen()->post_type === 'custom_post_type' ) {
$settings['tinymce'] = false;
$settings['quicktags'] = false;
$settings['media_buttons'] = false;
}
return $settings;
}
add_filter( 'wp_editor_settings', 'wpse_199918_wp_editor_settings', 10, 2 );

Otra forma más consistente de deshabilitar el editor WYSIWYG, dejando solo el editor de código fuente HTML, es desactivar tinymce usando el filtro "wp_editor_settings" para tu tipo de contenido personalizado.
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' );
