Gutenberg: aprenda como desabilitar blocos desnecessários

Por Everaldo Matias

Em nosso dia a dia com o WordPress, o editor Gutenberg já é uma realidade.

Em alguns casos, pode ser necessário remover algum bloco do projeto como, por exemplo, quando o seu uso ou a aplicação não faz parte do escopo do site.

Uma forma de fazermos isso é utilizando o hook allowed_block_types.

Porém, o funcionamento desse filter é um pouco diferente dos demais apresentados pelo WordPress. Ele retorna um array com os blocos que pretende disponibilizar.

Lançado em 2019, o editor Gutenberg leva o sobrenome deste cara. O alemão Johannes Gutenberg inventou a impressão tipográfica moderna no século 15. Imagem: Wikimedia Commons

LEIA TAMBÉM
WCSP 2019: em palestra, Eduardo Pittol fala de criação de blocos Gutenberg com React
COLUNA DE FELIPE ELIA: O que aconteceu com o WordPress 5.5.2? Uma sucessão de pequenos erros?
WordPress São Paulo divulga ações da Bienal da Quebrada

Por padrão, esse filtro não possui uma lista com todos os blocks disponíveis no Gutenberg, mas a função abaixo fará tudo o que precisamos para esse caso.

Hook

add_filter(‘allowed_block_types’, ‘wps_keep_plugins_blocks’);

function wps_keep_plugins_blocks($allowed_blocks)
{

// busca todos os blocos de widgets registrados
$registered_blocks = WP_Block_Type_Registry::get_instance()->get_all_registered();

// se precisar, remova aqui os blocos de widgets, com a função unset() do PHP
unset($registered_blocks['core/latest-comments']);

// cria a lista de blocos permitidos
$new_allowed_blocks = [
    'core/image',
    'core/heading'
];

// mescla os blocos de widgets com os blocos permitidos e retorna
return array_merge($new_allowed_blocks, array_keys($registered_blocks));

}

Observe que, na variável $new_allowed_blocks, montamos um array com os blocks permitidos. Para facilitar a identificação e o nome de cada bloco – para remoção ou adição -, recomendo utilizar o plugin Disable Gutenberg Blocks.

O Disable Gutenberg Blocks também pode ser útil para remover blocos de forma simples e rápida.

Porém, o hook acima é útil para não permitir a utilização de determinado bloco no projeto.

+ TEXTOS DA COLUNA DE EVERALDO MATIAS

Baseado no template da página ou no tipo de post, o allowed_block_types também ajuda a criar condicionais e a exibir ou não os blocks.

*

Desejo a todos um ótimo final de ano e que 2021 seja um ano próspero, repleto de saúde e respeito.

*

Mensalmente, Everaldo Matias escreve sobre Desenvolvimento para a comunidade WordPress São Paulo.

*

Everaldo Matias — O paulistano de 33 anos é desenvolvedor WordPress desde 2009. Formado em Tecnologia em Sistemas para Internet pela UNINOVE, contribui com a comunidade WordPress desde março de 2010. No universo do graffiti, é conhecido como Eve14. Nessa faceta, já participou da iniciativa São Paulo Capital Graffiti, é um dos idealizadores do Coletivo 5 Zonas, ganhou o prêmio Arte na Amauri do restaurante Ecco e realizou trabalhos para G-Shock, Dimension Customs, Tintas Coral, Pixel Show, Sesc Santo André, Estadão, entre outros.


O conteúdo desta coluna não reflete, necessariamente, as opiniões da comunidade WordPress São Paulo.


Redes sociais & últimos destaques da comunidade WordPress São Paulo

3 comentários

Deixe uma resposta

%d blogueiros gostam disto: