Como remover os blocos do WordPress
5/11/2022
A cada nova versão do WordPress, fica mais óbvio que o futuro da plataforma está nos blocos.
Não gosto dos blocos, o que é um problema. A alternativa mais promissora ao WordPress, o ClassicPress, ainda está longe do nível de maturidade desejado para cenários mais exigentes, como é o caso do Manual do Usuário.
Por enquanto, ainda é possível suprimir os blocos de instalações atualizadas do WordPress. Reuni neste post os hacks e alterações que faço para esse fim. Elas foram testadas até o recém-lançado WordPress 6.1 e, até onde sei, eliminam por completo os arquivos relacionados aos blocos.
São apenas três passos:
Plugins amigos
Dois plugins são essenciais para remover os blocos do “back-end”, a parte administrativa/restrita do sistema: Classic Editor e Classic Widgets.
Basta instalá-los para ter de volta o editor clássico e os widgets clássicos. (Nas versões mais recentes, os widgets clássicos foram substituídos por… blocos.)
SVGs do sistema “duotone”
A partir do WordPress 5.8, passou a ser possível editar imagens com dois tons de cores a partir da edição por blocos. É um efeito legal, mas mesmo que você não o use, por causa dele o WordPress passou a carregar alguns arquivos SVG no início do código, logo depois da tag <body>
.
Para removê-los, é preciso criar um arquivo theme.json
dentro do diretório do seu tema e colar este pequeno trecho de código nele:
{
"version": 1,
"settings": {
"color": {
"duotone": null
}
}
}
Edições no functions.php
O WordPress carrega automaticamente vários arquivos CSS relacionados aos blocos, mesmo que você não use os blocos. A melhor forma de removê-los é via functions.php
, um arquivo que seu tema provavelmente já tem. (Se não tiver, basta criá-lo na raiz do diretório do tema.)
Adiciona as seguites linhas para remover arquivos relacionados aos blocos:
add_filter( 'use_block_editor_for_post', '__return_false' );
add_filter( 'use_widgets_blog_editor', '__return_false' );
add_action( 'wp_enqueue_scripts', function() {
wp_dequeue_style( 'wp-block-library' );
wp_dequeue_style( 'wp-block-library-theme' );
wp_dequeue_style( 'global-styles' );
wp_dequeue_style( 'classic-theme-styles-css' );
}, 20 );