Die Dokument-Sidebar des Block-Editors ist in unterschiedliche Bereiche unterteilt, etwa einen für das Beitragsbild und bei Beiträgen einen für Schlagwörter. Manchmal kann es sinnvoll sein, bestimmte Bereiche auszublenden, um die Sidebar übersichtlicher zu machen, etwa wenn keine Beitragsbilder genutzt werden. Hier zeige ich, wie das funktioniert.
Jeder Bereich in der Sidebar hat einen eigenen Bezeichner, über den er entfernt werden kann. Wie die Bereiche heißen, kann im GitHub-Repo von Gutenberg herausgefunden werden, dort gibt es ein Verzeichnis mit dem Code für die Standard-Sidebar-Bereiche.
Öffnet man da beispielsweise die index.js
des featured-image
-Ordners, findet sich folgende Zeile im Code:
const PANEL_NAME = 'featured-image';
Code-Sprache: JavaScript (javascript)
featured-image
ist der Bezeichner, den wir für das Ausblenden benötigen. Der Editor bietet uns eine Funktion removeEditorPanel
, die als Parameter einen Bereichs-Bezeichner erwartet und diesen Bereich dann ausblendet.
Für das Beitragsbild sieht das wie folgt aus:
wp.domReady( () => {
const { removeEditorPanel } = wp.data.dispatch('core/edit-post');
// Remove featured image panel from sidebar.
removeEditorPanel( 'featured-image' );
} );
Code-Sprache: JavaScript (javascript)
Damit sollte der Beitragsbild-Bereich nicht mehr ausgegeben werden. Das lässt sich im Zusammenspiel mit der Prüfung auf bestimmte Beitrags-Typen zum Beispiel auch nur auf Seiten einschränken.
Wenn ihr noch keinen Code für den Block-Editor geschrieben habt, könnten meine Beiträge »Einrichtung von Webpack für die Gutenberg-Entwicklung« und »Alternativen Stil für Gutenberg-Block erstellen« bei KrautPress hilfreich sein.
Hallo, Florian,
gibt es eine vergleichbare Möglichkeit um die Controls bei einzelnen Blöcken auszublenden? Konkret denke ich an die RangeControl für den Spalten-Block bzw. die Prozenteingaben bei den Spalten. Wenn man eine Block-Variation vom Spalten-Block hätte mit ein bisschen zusätzlichem CSS wäre es gut, dass die User nicht an den Controls drehen können.
Ich hab schon viel gelesen und gesucht und ich vermute, da gibts keine einfache Möglichkeit in Form eines Filters.
Schöne Grüsse
Kirsten
Hi Kirsten,
soweit ich weiß gibt es da keine einfache Möglichkeit, nein. Vielleicht könnte man sich da etwas mit
wp.data.subscribe
basteln, ich habe die Funktion in dem Beitrag »Block-Attribute abhängig von der Block-Position setzen« genutzt. Die Funktion hängt sich quasi an alle Änderungen im Editor.Viele Grüße
Florian
Danke für deine Einschätzung!
Den anderen Artikel hatte ich auch schon gesehen.
Tja, schaut so aus, als geht es da nicht weiter.