WordPress Snippets, uma série de posts da Forma Haste.

Desabilitar Gutenberg para post types específicos

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. 😉

Referência

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *