WordPress Block Editor – Inhalte und Blöcke sperren bzw. freischalten

Obwohl der Block-Editor (ehemals Gutenberg) eine große Flexibilität bei der Erstellung individueller Layouts bietet, kann diese Freiheit zu unbeabsichtigten Änderungen führen. Besonders dann, wenn mehrere Personen an einem Projekt arbeiten und unterschiedlich vertraut mit WordPress sind, können sich Fehler einschleichen.

Das Sperren von Blöcken dient dazu, das Layout und die Struktur einer Seite zu schützen, indem verhindert wird, dass wichtige Designelemente versehentlich verschoben oder bearbeitet werden.

Inhalte über den WordPress-Editor sperren

Im WordPress Block Editor gibt es verschiedene Möglichkeiten, Gruppen oder Blöcke zu sperren. Die gewünschte Einstellung kann für das ausgewählte Element selbst, oder im Falle von Gruppen, auch für alle enthaltenen Elemente aktiviert werden.

Möglichkeiten zum Sperren von Elementen im WordPress Editor

Bewegen deaktivieren

Die Option »Bewegen deaktivieren« verhindert, dass der ausgewählte Block oder die Gruppe innerhalb des Inhalts verschoben wird.

Entfernen verhindern

Wenn die Option »Entfernen verhindern« aktiviert ist, können Gruppen oder Blöcke nicht mehr gelöscht werden.

Blöcke und Gruppen freischalten

Falls die Sperre wieder aufgehoben werden soll, kann einfach der gleichen Weg über die Block-Einstellungen gegangen werden und die Sperre zu deaktivieren. Das Entsperren gibt anschließend die volle Kontrolle über den Block zurück.

Option zum Freischalten von Blöcken im WordPress Editor

Inhalte über den Code sperren

Der WordPress Block Editor arbeitet im Code mit HTML-Kommentaren, die u.a. auch Informationen zum »Gesperrt-Zustand« enthalten. Grundsätzlich können somit alle Optionen auch über den Code aktiviert bzw. deaktiviert werden.

Das folgende Beispiel zeigt einen Absatz, der nicht mehr bewegt, aber entfernt werden kann. Die Sperre (lock) für Bewegung (move) ist aktiv (true). Die Sperre für Entfernen (remove) ist inaktiv (false).

<!-- wp:paragraph {"lock":{"move":true,"remove":false}} -->

ContentOnly

Die Option contentOnly sorgt dafür, dass die Struktur (z.B. Gruppen etc.) des Inhalts im Editor gar nicht mehr sichtbar ist und folglich auch nicht verändert werden kann. In der Listenansicht des Editors sind nur noch die Blöcke sichtbar, die inhaltlich bearbeitet werden können. Die ContentOnly-Option kann nur über den Code aktiviert werden.

<!-- wp:group {"templateLock":"contentOnly"} -->

Editor UI entfernen

Es besteht auch die Möglichkeit, den Menü-Eintrag zum Sperren/Freischalten im Editor gänzlich zu entfernen. Typisch ist, dass die Einstellung nur für bestimmte User, Gruppen oder Post Types deaktiviert wird. Als WordPress-Agentur können wir so beispielsweise alles frei editieren, für Kunden oder einzelne Personen kann der Editor auf Wunsch eingeschränkt werden.

<?php 

// Füge einen Filter hinzu, der die Block-Editor-Einstellungen anpasst.
// Die Funktion, die in diesem Filter verwendet wird, ist statisch und nimmt zwei Parameter entgegen: $settings und $context.
add_filter(
  'block_editor_settings_all',
  static function( $settings, $context ) {

    // Zeige die Block-Sperrungsfunktion nur für Benutzer mit der Rolle "Editor" und höher an.
    // Dies kann durch die Fähigkeit "delete_others_posts" gesteuert werden.
    $settings['canLockBlocks'] = current_user_can( 'delete_others_posts' );

    // Entferne die Benutzeroberfläche (UI) für bestimmte Benutzer.
    // Hier wird der aktuelle Benutzer abgerufen und geprüft, ob seine E-Mail-Adresse in der Liste enthalten ist.
    // Falls ja, wird die Block-Sperrungsfunktion deaktiviert.
    $user = wp_get_current_user();
    if ( in_array( $user->user_email, array( 'max@mustermann.de' ), true ) ) {
      $settings['canLockBlocks'] = false;
    }

    // Entferne die Benutzeroberfläche (UI) für alle Seiten.
    // Hier wird überprüft, ob der aktuelle Kontext ein Beitrag vom Typ "page" ist, und falls ja, wird die Block-Sperrungsfunktion deaktiviert.
    if ( $context->post && $context->post->post_type === 'page' ) {
      $settings['canLockBlocks'] = false;
    }

    // Gib die modifizierten Einstellungen zurück.
    return $settings;
  },
  10,  // Priorität des Filters (10 ist Standard).
  2    // Anzahl der akzeptierten Argumente (2 in diesem Fall: $settings und $context).
);

?>

Geschrieben von:

Jonas Hellwig

Benutzerbild

Jonas ist Gründer der Agentur kulturbanause und des kulturbanause Blogs. Er arbeitet an der Schnittstelle zwischen UX/UI Design, Frontend und Redaktion und hat zahlreiche Fachbücher und Video-Trainings veröffentlicht. Jonas Hellwig ist regelmäßig als Sprecher auf Fachveranstaltungen anzutreffen und unterstützt mit Seminaren und Workshops Agenturen und Unternehmen bei der Planung, der Gestaltung und der technischen Umsetzung von Web-Projekten.

Jonas Hellwig bei Xing

Feedback & Ergänzungen – Schreibe einen Kommentar

Kommentar zu dieser Seite

Wir freuen uns über Anregungen, Ergänzungen oder Hinweise zu Fehlern. Wir lesen jeden Eintrag, veröffentlichen aber nur, was den Inhalt sinnvoll ergänzt.

WordPress-Projekte mit kulturbanause

Wir wissen wovon wir reden. Wir setzen WordPress seit über 10 Jahren erfolgreich ein und realisieren maßgeschneiderte Websites auf Basis dieses großartigen CMS.

WordPress-Leistungsangebot →

Schulungen von kulturbanause

Wir bieten Seminare und Workshops zu den Themen Konzept, Design und Development. Immer up-to-date, praxisnah, kurzweilig und mit dem notwendigen Blick über den Tellerrand.

Schulung + Beratung