É possível remover o WYSIWYG para um determinado tipo de postagem personalizado?


18

Não quero usar o WYSIWYG na parte superior do meu Tipo de postagem personalizado. Quero usar uma área de texto de campo personalizado que possa ser colocada na parte inferior da minha lista de campos personalizados.

Isso é possível?

Respostas:


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

coloque-o em seus temas functions.php


11
Nota: eu recomendaria chamar remove_post_type_support()dentro do mesmo retorno que você chama register_post_type(), para garantir a ordem correta de execução.
Chip Bennett

Eu não vejo register_post_type () em functions.php. Estou usando a interface do usuário de tipos personalizados em combinação com AdvancedCustomFields.
scottgemmell

O uso do plug-in de interface do usuário de tipos de postagem personalizados é um detalhe bastante importante para sua pergunta. :) O plug-in expõe o supportsparâmetro em sua interface do usuário. Consulte estas capturas de tela .
Chip Bennett

14

Você pode realmente desativar o editor WYSIWYG, deixando apenas o editor de código-fonte html. Escolha uma função abaixo:

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

existe uma maneira de remover apenas o WYSIWYG do trecho? Meu tema está ativado e tenho dúvidas sobre alguns códigos deles, não tenho certeza de que posso removê-lo. Eu perguntei isso como uma nova pergunta aqui: wordpress.stackexchange.com/questions/300877/...
Jason

Olá, honestamente, não sei, meu conhecimento sobre WP está um pouco enferrujado, desculpe. A única coisa que posso sugerir é procurar o código-fonte do WP, encontrar algo relevante e, em seguida, enviar para o google / documentação para exemplos / documentação.
user188421

9

Como alternativa, você pode lidar com o suporte pós-editor diretamente na sua register_post_type()chamada, através do 'supports'parâmetro na $argsmatriz.

O valor padrão é: 'supports' => array( 'title', 'editor' ).

Você pode alterá-lo para o que precisar; por exemplo: 'supports' => array( 'title' ).


6

Re: este comentário:

Estou usando a interface do usuário de tipos personalizados em combinação com AdvancedCustomFields.

O plug-in personalizado da interface do usuário de tipos de postagem expõe todos os register_post_type() $argsparâmetros da matriz em sua interface do usuário.

Nesse caso, basta encontrar a seção Supports e desativar / desmarcar o Editor :

Plug-in personalizado da interface do usuário de Tipos de postagem - opções de Registrar tipo de postagem


Mesmo que outra resposta tenha sido definida como a resposta selecionada, esta é a resposta correta. Não é necessário executar um filtro para remover algo que você pode excluir ao declarar o CPT para começar.
Aug

-1

Outra maneira mais consistente de desativar o editor WYSIWYG, deixando apenas o editor de código-fonte html - é proibir o tinymce usando o filtro "wp_editor_settings" para o seu tipo de postagem 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 edite sua resposta , e adicionar uma explicação: por que isso poderia resolver o problema?
fuxia
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.