¿Es posible eliminar WYSIWYG para un determinado tipo de mensaje personalizado?


18

No quiero usar el WYSIWYG en la parte superior de mi Tipo de publicación personalizada. Quiero utilizar un área de texto de campo personalizado que puedo colocar en la parte inferior de mi lista de campos personalizados.

es posible?

Respuestas:


20
add_action('init', 'init_remove_support',100);
function init_remove_support(){
    $post_type = 'your post type';
    remove_post_type_support( $post_type, 'editor');
}

colóquelo en sus temas functions.php


1
Nota: recomendaría llamar remove_post_type_support()dentro de la misma devolución de llamada que usted register_post_type()para asegurar el orden correcto de ejecución.
Chip Bennett

No veo register_post_type () en functions.php. Estoy usando la interfaz de usuario de tipos personalizados en combinación con AdvancedCustomFields.
scottgemmell

Que esté utilizando el complemento de IU de tipos de publicaciones personalizadas es un detalle bastante importante para su pregunta. :) El complemento expone el supportsparámetro en su interfaz de usuario. Consulte estas capturas de pantalla .
Chip Bennett

14

En realidad, puede deshabilitar el editor WYSIWYG, dejando solo el editor fuente html. Elija una función a continuación:

// 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;
});

¿Hay alguna manera de eliminar solo el WYSIWYG del extracto? Mi tema lo tiene activado, y tengo dudas sobre algunos de sus códigos, no estoy seguro de poder eliminarlo. Hice esto como una nueva pregunta aquí: wordpress.stackexchange.com/questions/300877/…
Jason

Hola, sinceramente, no sé, mi conocimiento de WP está un poco oxidado, lo siento. Lo único que puedo sugerir es profundizar en el código fuente de WP, encontrar algo relevante, luego duckduckgo / google it para obtener documentación / ejemplos.
user188421

9

Alternativamente, puede manejar el soporte posterior al editor directamente en su register_post_type()llamada, a través del 'supports'parámetro en la $argsmatriz.

El valor por defecto es: 'supports' => array( 'title', 'editor' ).

Puedes cambiarlo a lo que necesites; por ejemplo: 'supports' => array( 'title' ).


6

Re: este comentario:

Estoy usando la interfaz de usuario de tipos personalizados en combinación con AdvancedCustomFields.

El complemento de IU de tipos de publicaciones personalizadas expone todos los register_post_type() $argsparámetros de la matriz en su IU.

En este caso, simplemente necesita encontrar la sección Soportes y deshabilitar / desmarcar Editor :

Complemento de IU de tipos de publicación personalizados: opciones de tipo de registro


Aunque se estableció otra respuesta como la respuesta seleccionada, esta es la respuesta correcta. No es necesario ejecutar un filtro para eliminar algo que simplemente puede excluir al declarar el CPT para empezar.
butlerblog

-1

Otra forma más consistente de deshabilitar el editor WYSIWYG, dejando solo el editor fuente html, es no permitir tinymce usando el filtro "wp_editor_settings" para su tipo de publicación 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' );

Por favor, editar su respuesta , y añadir una explicación: ¿por qué podría que resolver el problema?
fuxia
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.