Il blocco Paragrafo, il blocco Titolo, il blocco Elenco e il blocco Immagine sono probabilmente i 4 blocchi più utilizzati nella creazione di contenuti su WordPress, da parte degli utenti che utilizzano l’editor a blocchi.
I blocchi a disposizione però sono molti e, in alcuni casi, persino troppi. Soprattutto quando su un sito ci sono diverse persone che si occupano di inserire contenuti, può essere utile fornire a loro solo gli strumenti strettamente necessari. In questo modo, possiamo evitare che abbiano a disposizione blocchi che non gli servono.

Come ridurre il numero di blocchi nell’editor
La flessibilità di WordPress consente di personalizzare il comportamento dell’editor e di limitare la quantità di blocchi a disposizione degli utenti del sito.
Puoi disabilitare completamente alcuni blocchi, oppure puoi farlo semplicemente per alcuni ruoli utente.

Ad esempio, inserendo questo codice nel file functions.php del child theme, puoi lasciare attivi solo i blocchi Paragrafo, Titolo, Elenco, Dettagli e Immagini per tutti gli utenti che non sono Amministratori:
function example_allowed_block_types_for_authors( $allowed_block_types, $block_editor_context ) {
if ( ! current_user_can( 'manage_options' ) ) {
$allowed_block_types = array(
'core/heading',
'core/image',
'core/details',
'core/list',
'core/list-item',
'core/paragraph',
);
return $allowed_block_types;
}
return true;
}
add_filter( 'allowed_block_types_all', 'example_allowed_block_types_for_authors', 10, 2 )
Se al posto di manage_options
utilizziamo la capability publish_pages
questa regola è attiva solo per gli utenti che hanno un ruolo Autore o un ruolo inferiore, ossia per gli utenti che non hanno i permessi per pubblicare le pagine.
L’aspetto interessante è che questa funzione può essere utilizzata anche per limitare l’accesso anche a blocchi diversi rispetto a quelli standard di WordPress.
Modificando la lista dei blocchi consentiti in questo modo:
$allowed_block_types = array(
'core/heading',
'core/image',
'core/details',
'core/list',
'core/list-item',
'core/paragraph',
'core/embed',
'generateblocks/container',
'generateblocks/button-container',
'generateblocks/button',
'generateblocks/grid',
'generateblocks/headline',
);
è possibile abilitare anche alcuni dei blocchi messi a disposizione dal plugin GenerateBlocks.
Disattivare i blocchi per gli incorporamenti che non servono
Una gran quantità di blocchi presenti nell’editor di WordPress sono quelli destinati agli incorporamenti, ossia all’inserimento di contenuti presenti su siti esterni. Spesso, sono utilizzati per inserire video di YouTube, video ospitati su Vimeo, post di TikTok…
Tra le opzioni disponibili però ci sono anche gli incorporamenti da Issuu, Kickstarter, SmugMug, Speaker Deck, Animoto, Scribd, Soundcloud, Spotify, Reverbnation, Crowdsignal e molti altri servizi che forse non avrai mai sentito nominare.
Non sarebbe male poter lasciare attivi solo quei servizi che vengono effettivamente utilizzati e disattivare tutto il resto.
Ecco come è possibile fare per disattivare tutte le varianti del blocco Embed dell’editor, così da lasciare attive solo quelle che ti servono.
È sufficiente creare un file JS all’interno della cartella del proprio child theme, ad esempio puoi crearlo con questo percorso e questo nome: assets/js/editor-curation.js
Nel file editor-curation.js
basta inserire un codice di questo tipo:
wp.domReady( () => {
const embedVariations = [
'animoto',
'dailymotion',
'flickr',
'hulu',
'reddit',
'tumblr',
'vine',
'amazon-kindle',
'cloudup',
'crowdsignal',
'speaker',
'scribd',
'spotify',
'issuu',
'kickstarter',
'mixcloud',
'pocket-casts',
'reverbnation',
'screencast',
'smugmug',
'speaker-deck',
'ted',
'imgur',
'bluesky',
'wolfram-cloud',
'wordpress',
'wordpress-tv',
'videopress',
'soundcloud'
];
embedVariations.forEach( ( variation ) => {
wp.blocks.unregisterBlockVariation( 'core/embed', variation );
} );
} );
Poi, devi richiamare questo file all’interno del file functions.php del child theme:
function enqueue_editor_curation() {
wp_enqueue_script(
'example-enqueue-block-variations',
get_stylesheet_directory_uri() . '/assets/js/editor-curation.js',
array( 'wp-blocks', 'wp-dom-ready' ),
wp_get_theme()->get( 'Version' ),
true
);
}
add_action( 'enqueue_block_editor_assets', 'enqueue_editor_curation' );
In questo modo, resteranno disponibili solo i blocchi che ti servono e che sono utilizzati più spesso sul tuo sito:

Ulteriori approfondimenti su come personalizzare il comportamento dell’editor di WordPress li puoi trovare in questo articolo pubblicato da Nick Diego sul WordPress Developer Blog.