Não estamos aceitando novos projetos no momento, saiba mais
Veja como desabilitar o Gutenberg para tipos de post específicos
Não é incomum se deparar com a necessidade, em algum projeto, de que o novo editor, Gutenberg, deva ser desabilitado em alguns post types específicos. Registrando um custom post type, você pode especificar se ele terá ou não suporte ao Gutenberg, basta usar o parâmetro 'show_in_rest' => true
. Mas e se você quiser desabilitar o Gutenberg em um post type padrão? Como páginas, ou um post type criado por um plugin de terceiros, por exemplo. Como fazer?
Felizmente é bem simples, basta utilizar o filtro use_block_editor_for_post_type
. Veja o código abaixo:
/**
* Disable Gutenberg in some post types.
* @param bool $current_status Current activation status.
* @param string $post_type Post type slug.
* @return bool If Gutenberg should be activated or not.
*/
function forma_haste_disable_gutenberg( $current_status, $post_type ) {
$disabled_post_types = [ 'page', 'post' ];
if ( in_array( $post_type, $disabled_post_types, true ) ) {
$current_status = false;
}
return $current_status;
}
add_filter( 'use_block_editor_for_post_type', 'forma_haste_disable_gutenberg', 10, 2 );
No código é definido um array $disabled_post_types
. Armazenamos no array o slug dos post types em que desejamos desabilitar o Gutenberg. Verificamos então se o parâmetro $post_type
, que armazena o slug do post type que estamos tentando editar, está entre os $disabled_post_types
, com a função in_array()
. Caso esteja, modificamos o $current_status
para false
.
Alternativa: utilizando o plugin Disable Gutenberg
Caso você não seja familiarizado com código, ou enfim, prefira optar para um plugin para isso, recomendo o Disable Gutenberg, do Jeff Starr. Ele possuí várias opções, permitindo que você desabilite o Gutenberg não somente por post type, mas por nível de usuário, ID’s e templates.
https://wordpress.org/plugins/disable-gutenberg/
Espero que tenha ajudado. 😉