kulturbanause Blog

Responsive Design, WordPress, Konzeption, HTML, CSS, JS & UX/UI …

WordPress: Deaktivieren von Gutenberg-Blöcken

Seit WordPress 5.0 ist der Gutenberg-Editor fester Bestandteil des WordPress-Cores und liefert eine Vielzahl an Blöcken, mit denen ihr  Inhalte darstellen bzw. strukturieren könnt. Häufig bieten einzelne Blöcke jedoch ungewünschte redaktionelle Freiheiten, weshalb sie deaktiviert werden sollen. Mit Hilfe einer sog. Whitelist könnt ihr nur bestimmte Gutenberg-Blöcke zulassen und mit einer Blacklist gezielt Blöcke entfernen.

Workshops und Seminare von kulturbanause

Adobe XD, Performance, Responsive Design, Sketch, Visual Prototyping, Web Animationen, Corporate Design …

Jetzt Frühbucher-Rabatte sichern!

Gutenberg-Blöcke auf Whitelist setzen

Mit Hilfe einer Whitelist lässt sich ganz genau festlegen, welche Blöcke im Block Editor angezeigt werden sollen. Nur Blöcke die in der Whitelist vorhanden sind werden auch ausgespielt.

Um die Whitelist zu integrieren, verwenden wir den Filter »allowed_block_types«. Fügt hierfür einfach folgendes Snippet in eure functions.php oder in ein seitenspezifisches Plugin. Anschließend schreibt ihr alle Blöcke in das array(), die im Editor zur Auswahl stehen sollen. Eine Liste aller Standard-Gutenberg-Blöcke findet ihr am Ende dieses Beitrags.

function kb_whitelist_blocks() {
  return array(
    'core/heading',
    'core/paragraph',
    'core/image'
  );
}
add_filter('allowed_block_types','kb_whitelist_blocks');

Die Verwendung einer Whitelist ist empfehlenswert, wenn man genau steuern möchte, welche Blöcke zur Verfügung stehen sollen. Es werden auch Blöcke aus Plugins ignoriert, solange diese nicht explizit in die Liste aufgenommen sind.

Gutenberg-Blöcke auf Blacklist setzen

Wenn ihr nur einzelne Gutenberg-Blöcke ausschließen möchtet, bietet sich eine Blacklist an. Erstellt hierzu eine JavaScript-Datei und legt diese in eurem Theme-Verzeichnis ab. Kopiert anschließend den Inhalt des folgenden Code-Beispiels in diese Skript-Datei. Über wp.blocks.unregisterBlockType könnt ihr nun die einzelnen Blöcke auswählen, die ausgeschlossen werden sollen.

wp.domReady(function() {
    wp.blocks.unregisterBlockType( 'core/heading' );
    wp.blocks.unregisterBlockType( 'core/gallery' );
});

Nachdem ihr die JS-Datei in eurem Theme abgelegt habt, bindet sie mit Hilfe der Aktion enqueue_block_editor_assets ein. Achtet darauf, den Pfad zur JS-Datei anzupassen.

function kb_blacklist_blocks() {
  wp_enqueue_script(
    'kb_blacklist_blocks',
    get_template_directory_uri().'/assets/js/kb_blacklist_blocks.js',
    array('wp-blocks','wp-dom-ready','wp-edit-post')
  );
}
add_action('enqueue_block_editor_assets','kb_blacklist_blocks');

Gutenberg-Blöcke aus Plugins berücksichtigen

Viele Plugins erweitern WordPress um eigene Blöcke, die natürlich ebenfalls auf der Black- bzw. die Whitelist berücksichtigt werden müssen. Hierfür benötigt ihr den »Block-Slug« (meist bestehend aus Plugin-Name und Block-Name).

Im folgenden Beispiel fügen wir beispielsweise die beiden populären Yoast-Blöcke »FAQ« und »How-to« der Whitelist hinzu.

function kb_whitelist_blocks() {
  return array(
    'core/heading',
    'core/paragraph',
    'core/image',
    'yoast/faq-block',
    'yoast/how-to-block'
  );
}
add_filter('allowed_block_types','kb_whitelist_blocks');

Liste der aktuellen Standard-Gutenberg-Blöcke

Eine Liste aller Standard-Gutenberg-Blöcke findet ihr unter anderem hier: https://github.com/WordPress/gutenberg/tree/master/packages/block-library/src

Beachtet, dass Gutenberg zusätzlich als eigenständiges Plugin weiterentwickelt wird und dadurch Asynchronität zwischen der aktuellen WordPress- und der aktuellen Gutenberg-Version bestehen kann!

Jetzt bist du gefragt!

Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freuen wir uns auf deinen Kommentar.

Du kannst diesen Beitrag natürlich auch weiterempfehlen. Wir sind dir für jede Unterstützung dankbar!

Unterstützung bei WordPress-Projekten

Unsere WordPress Agentur ist auf die Entwicklung maßgeschneiderter WordPress-Themes und -Websites spezialisiert. Wenn du Unterstützung bei der Planung, Gestaltung und Entwicklung eines Projekts benötigst, helfen wir gerne weiter.
WordPress-Leistungsangebot →

Das könnte dich auch interessieren

Kommentar verfassen

Dieser Blog lebt vom Feedback der Besucher! Also los, mach mit!
Bitte habe Verständnis dafür, dass Kommentare die mit dem Inhalt dieses Beitrags nichts zu tun haben, gelöscht werden.