Beschreibung
Mit Block Inserter Filter blenden Administratoren einzelne Gutenberg-Blöcke websiteweit aus dem Block-Inserter aus – Core-Blöcke, Theme-Blöcke und Blöcke beliebiger Plugins – ohne eine Zeile Code. Das Plugin steuert, was Redakteure einfügen können; vorhandene Inhalte bleiben unberührt, und im Frontend hat es keine Auswirkung.
Funktionen
- Übersichtliche Admin-Seite unter „Einstellungen Blöcke ausblenden“.
- Funktioniert mit jedem registrierten Blocktyp: Core-, Theme- und Plugin-Blöcke.
- Blöcke wahlweise nach Block-Kategorie (wie im Editor) oder nach Namensraum gruppieren.
- Embed-Varianten (YouTube, Reddit, Vimeo, TikTok, Bluesky, …) lassen sich einzeln ausblenden.
- Live-Suche über alle Blöcke und Embed-Varianten.
- „Alle umschalten“ je Gruppe.
- Schutzliste: Core-Blöcke (Absatz, Überschrift, Liste, Bild, Gruppe, Spalten) sind als Sicherheitsnetz immer verfügbar und lassen sich nicht ausblenden.
- Vorhandene Inhalte mit ausgeblendeten Blöcken bleiben sichtbar – nur das Einfügen neuer Instanzen ist gesperrt.
- Keine externen Abhängigkeiten, kein Tracking, keine Datenbanklast im Frontend.
Optionale GenerateBlocks-Integration
GenerateBlocks ist nicht erforderlich. Ist es installiert, ergänzt das Plugin einige Annehmlichkeiten:
- Blöcke von GenerateBlocks und GenerateBlocks Pro werden in getrennten Gruppen aufgeführt.
- Blöcke von GenerateBlocks Pro sind mit einem Pro-Badge gekennzeichnet.
- Core-Blöcke, die GenerateBlocks Pro durch eine erweiterte Variante ersetzt, werden automatisch ausgeblendet, solange Pro aktiv ist, und erscheinen nach dessen Deaktivierung wieder.
Sicherheit
Mehrstufige Absicherung: Berechtigungsprüfung (manage_options), Nonce-Prüfung, Bereinigung gegen eine Freigabeliste beim Speichern, durchgängiges Escaping der Ausgabe.
Installation
- Lade den Plugin-Ordner nach
wp-content/plugins/hoch oder installiere die ZIP-Datei über Plugins Neues Plugin hinzufügen Plugin hochladen. - Aktiviere das Plugin unter Plugins.
- Konfiguriere das Plugin unter Einstellungen Blöcke ausblenden.
FAQ
-
Nein. Inhalte bleiben erhalten und werden im Frontend normal dargestellt. Nur das Einfügen neuer Instanzen über den Block-Inserter ist gesperrt.
-
Warum kann ich „Absatz“ oder „Bild“ nicht ausblenden?
-
Diese Blöcke sind als Sicherheitsnetz fest geschützt – ohne sie wäre der Editor praktisch unbenutzbar. Wenn du sie wirklich entfernen musst, nutze den Filter
allowed_block_types_allin deinem Theme oder in einem eigenen Plugin.
Rezensionen
Zu diesem Plugin liegen noch keine Rezensionen vor.
Mitwirkende und Entwickler
„Block Inserter Filter“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:
Mitwirkende„Block Inserter Filter“ wurde in 1 Sprache übersetzt. Danke an die Übersetzer für ihre Mitwirkung.
Übersetze „Block Inserter Filter“ in deine Sprache.
Interessiert an der Entwicklung?
Durchstöbere den Code, sieh dir das SVN-Repository an oder abonniere das Entwicklungsprotokoll per RSS.
Änderungsprotokoll
2.1.4
- Plugin-Header:
Tested up to(nur noch inreadme.txtdeklariert) undAuthor URIentfernt, wie vom WordPress.org-Plugin-Review gefordert. Keine Code-Änderungen.
2.1.3
- Übersetzungen: Das Plugin-Paket enthält keine Übersetzungsdateien mehr (
.po,.mo,.l10n.php), wie vom WordPress.org-Plugin-Review gefordert. Alle Sprachen, einschließlich Deutsch und britischem Englisch, werden über Sprachpakete von translate.wordpress.org bereitgestellt. Inlanguages/verbleibt nur die Vorlage.pot.
2.1.2
- Fix: Nach dem Speichern zeigte die Einstellungsseite zwei Erfolgsmeldungen – WordPress-Core ergänzt bei Seiten unter Einstellungen selbst „Einstellungen gespeichert.“, sobald
updated=1vorhanden ist. Die eigene Meldung des Plugins ist entfernt.
2.1.1
- UI: Jede Gruppenüberschrift zeigt, wie viele Blöcke der Gruppe derzeit ausgeblendet sind („N ausgeblendet“), live aktualisiert beim Setzen von Häkchen oder über „Alle umschalten“.
- UI: „Alle umschalten“ wird nur bei aufgeklappter Gruppe angezeigt und ist an der zweiten Spalte der Blockliste ausgerichtet; der Button „Speichern“ je Gruppe ist linksbündig.
- UI: Der Einleitungstext enthält keinen harten Zeilenumbruch mehr.
- Übersetzungen: Deutsch (
de_DE) und britisches Englisch (en_GB) werden mit dem Plugin ausgeliefert; weitere Sprachen (es_ES, fr_FR, it_IT, ja, nl_NL, pl_PL, pt_BR, ru_RU) werden im Entwicklungs-Repository gepflegt und über translate.wordpress.org eingereicht, wo Sprachpakete erzeugt werden.
2.1.0
- UI: Blockgruppen (Kategorieansicht, Namensraumansicht) und der Abschnitt Embed-Varianten sind jetzt Akkordeons. Alle Gruppen starten eingeklappt; ein Klick auf die Gruppenüberschrift öffnet sie. Die Überschrift ist ein echter Button mit
aria-expanded/aria-controlsund funktioniert daher mit Tastatur und Screenreader. Checkboxen in eingeklappten Gruppen werden weiterhin mit dem Formular gesendet. - UI: Während der Suche öffnen sich Gruppen mit Treffern automatisch; wird die Suche geleert, klappen sie wieder zu.
2.0.0
- Umbenennung: Das Plugin heißt jetzt „Block Inserter Filter“ (Slug, Ordner, Hauptdatei und Text-Domain
block-inserter-filter). Der bisherige Name „Block Filter for GenerateBlocks“ war irreführend – das Plugin filtert beliebige Gutenberg-Blöcke, GenerateBlocks ist nur eine optionale Integration. WordPress deaktiviert das Plugin beim Wechsel des Ordners; aktiviere es unter Plugins erneut. - Präfix: Alle globalen Bezeichner von
jg_gbbf_/JG_GBBF_/.jg-gbbf-*injgor_bif_/JGOR_BIF_/.jgor-bif-*umbenannt. Eine einmalige Migration aufadmin_initkopiert die Einstellungen aus den bisherigen Optionsschlüsseln (jg_gbbf_*odergbba_*aus Versionen vor 1.5.0) nachjgor_bif_hidden_blocksundjgor_bif_hidden_embed_variationsund entfernt die alten Schlüssel; Multisite-Netzwerke erhalten einen netzwerkweiten Durchlauf. Kein Datenverlust. - Der Slug der Einstellungsseite lautet jetzt
jgor-bif-hide-blocks(options-general.php?page=jgor-bif-hide-blocks). - Die Deinstallation entfernt die aktuellen Schlüssel, beide Legacy-Schlüsselfamilien und die Migrationsmarkierungen.
- Internationalisierung: Die Quellsprache aller sichtbaren Texte, des Plugin-Namens und der Beschreibung ist jetzt Englisch. Eine deutsche Übersetzung (
de_DE) liegt inlanguages/bei (.pot,.po,.mo,.l10n.php). WordPress 6.7 und neuer laden die mitgelieferten Dateien automatisch über den HeaderDomain Path; Sprachpakete von WordPress.org haben Vorrang, sobald sie existieren. - Aufräumarbeiten: JS-Global
jgorBifEditorData, Konsolenausgaben ausadmin.jsentfernt, ungenutzte Lokalisierung entfernt, Tabs statt Leerzeichen in den Klassendateien,.distignorefür SVN-Exporte ergänzt. - Fix: Setzt ein anderes Plugin
allowed_block_types_allauffalse(gar keine Blöcke erlaubt), wird diese Einschränkung jetzt unverändert durchgereicht, statt durch die vollständige Block-Registry abzüglich der ausgeblendeten Blöcke ersetzt zu werden. - Die Überschreibung des Anzeigenamens über
all_pluginsaufwp-admin/plugins.phpentfernt. Das Plugin wird jetzt überall unter seinem echten Namen aufgeführt. - Fix: Das eigene Editor-Script des Plugins läuft nicht mehr auf der Einstellungsseite des Plugins, sodass die Icons ausgeblendeter Embed-Varianten dort korrekt dargestellt werden.
- Deinstallation: Die pauschale
LIKE 'gbba_%'-Bereinigung wurde entfernt; die beiden bekannten Legacy-Optionsschlüssel werden weiterhin namentlich gelöscht. Das generische vierbuchstabige Präfix hätte Optionen anderer Plugins treffen können. - Multisite:
get_sites()-Aufrufe übergeben jetztnumber => 0, sodass Netzwerke mit mehr als 100 Websites vollständig migriert und aufgeräumt werden. - Kompatibilität mit WordPress 7.1 deklariert (
Tested up to).
1.5.1
- Kompatibilität mit WordPress 7.0 deklariert (
Tested up to). Keine Code-Änderungen.
1.5.0
- Refactoring: Präfixschema auf
jg_gbbf_/JG_GBBF_/.jg-gbbf-*korrigiert. Das bisherige Code-Präfix wargbba_/GBBA_(vom ursprünglichen Plugin-Sluggenerateblocks-bloecke-ausblenden) und passte nicht mehr zum aktuellen Sluggb-block-filter. Alle globalen Bezeichner – Konstanten, Klassen, Top-Level-Funktionen, Optionen, Asset-Handles, CSS-Klassen, Body-Klassen – sind entsprechend umbenannt. - Klassendateien in
includes/vonclass-gbba-*.phpinclass-jg-gbbf-*.phpumbenannt. - Migration: Eine einmalige Routine auf
admin_initkopiert die beiden vorhandenen Optionengbba_hidden_blocksundgbba_hidden_embed_variationsnachjg_gbbf_hidden_blocksundjg_gbbf_hidden_embed_variations(nur, wenn der neue Schlüssel noch leer ist, damit ein zwischen Update und erstem Aufruf einer Admin-Seite geschriebener Wert erhalten bleibt). Die alten Schlüssel werden anschließend gelöscht. Multisite-Installationen erhalten zusätzlich einen Netzwerkdurchlauf von der Hauptwebsite aus, damit Unterwebsites auch dann migriert werden, wenn kein Administrator sie aufruft. - Deinstallation:
uninstall.phpentfernt jetzt beide Präfixfamilien (gbba_*undjg_gbbf_*) sowie die Markierung des netzwerkweiten Durchlaufs, sodass keine Reste bleiben, selbst wenn das Plugin direkt nach dem Update gelöscht wird.
1.4.1
- Fix für die Plugin-Check-Konformität: den Text der Upgrade Notice zu 1.4.0 gekürzt, damit er unter dem
upgrade_notice_limitvon 300 Zeichen bleibt. Keine Änderungen an Code oder Verhalten.
1.4.0
- Umbenennung: Plugin-Slug, Ordnername, Hauptdatei und Text-Domain in
gb-block-filtergeändert; der angezeigte Plugin-Name lautet jetzt „Block-Filter für GenerateBlocks“. Vorhandene Einstellungen (ausgeblendete Blöcke, ausgeblendete Embed-Varianten) bleiben erhalten, da die Optionsnamen (Präfixgbba_) unverändert sind. WordPress deaktiviert das Plugin beim Wechsel des Slugs unter Umständen automatisch – aktiviere es dann manuell unter Plugins. - Die Plugin-Übersicht (
wp-admin/plugins.php) zeigte das Plugin über einen eingegrenztenall_plugins-Filter als „GenerateBlocks – Block-Filter (Zusatz)“ an, sodass es direkt unter „GenerateBlocks“ einsortiert wurde. (In 1.6.0 wieder entfernt.) uninstall.php: entfernt jetzt auch die zweite Optiongbba_hidden_embed_variations(in v1.1.0 hinzugefügt, bisher aber nicht aufgeräumt); ergänzt eine defensiveLIKE 'gbba_%'-Bereinigung, die künftige Plugin-Optionen sowie Einträge_transient_gbba_*/_transient_timeout_gbba_*abdeckt. Multisite-Schleife beibehalten.readme.txt: Installation, FAQ und die älteren Changelog-Einträge (v1.0.0 – v1.3.6) ins Englische übersetzt. Nicht standardkonforme Header-Felder (Author,Author URI,Plugin URI) aus dem Readme-Header entfernt – sie gehören nur in den PHP-Plugin-Header. DenContributors-Slug auf den WordPress.org-Benutzernamenjgorresumgestellt. Neuen Abschnitt== Upgrade Notice ==ergänzt.Plugin URIaus dem Header der Haupt-PHP-Datei entfernt (keine eigene Plugin-Seite).languages/index.php,assets/index.php,includes/index.phpund dieindex.phpim Stammverzeichnis verwenden jetzt einen echtendefined( 'ABSPATH' ) || exit;-Schutz statt des bloßen „Silence is golden“-Platzhalters.
1.3.10
- Verhaltensänderung bei Core-Blöcken, die GenerateBlocks Pro ersetzt (derzeit
core/headingundcore/image): Diese werden jetzt aus dem Block-Inserter automatisch ausgeblendet, sobald GenerateBlocks Pro aktiv ist. Das frühere Verhalten aus 1.3.9 (Pro aktiv = Benutzer darf das Ausblenden selbst wählen) wurde umgekehrt, weil die Pro-Varianten die Core-Blöcke vollständig ersetzen sollen, solange Pro geladen ist. Der Block-Inserter-Filter (GBBA_Block_Filter::filter_blocks) führt jetzt die vom Benutzer konfigurierte Ausblendliste mit der automatischen Ausblendliste ausGBBA_Plugin::get_pro_replaced_blocks()zusammen und wendet beide in einem Durchgang an. Die Einstellungsseite zeigt die betroffenen Einträge als markiert und deaktiviert, mit dem neuen Badge „Pro-Variante aktiv“ und einem Tooltip, der das automatische Ausblenden erklärt. Sobald GenerateBlocks Pro deaktiviert wird, erhalten die Blöcke wieder das reguläre Badge „geschützt“ und erscheinen erneut im Inserter – ohne manuelles Aufräumen. - Intern:
get_protected_blocks()wieder auf einen dünnen Wrapper um die KonstantePROTECTED_BLOCKSzurückgeführt (immer die vollständige Liste). Die Pro-abhängige Logik liegt jetzt ausschließlich inget_pro_replaced_blocks(), das sowohl vom Inserter-Filter als auch vom Admin-Renderer genutzt wird.
1.3.9
- Funktion: Ist GenerateBlocks Pro aktiv, stehen die Core-Blöcke
core/headingundcore/imagenicht mehr in der Schutzliste und lassen sich aus dem Inserter ausblenden. Diese erhalten ein neues Badge „GB Pro Variante“ (statt „geschützt“) mit einem Tooltip bei Mauszeigerkontakt, der erklärt, dass GenerateBlocks Pro eine erweiterte Variante des Blocks bereitstellt. Ist GenerateBlocks Pro nicht aktiv, bleiben beide Blöcke wie bisher geschützt und behalten das Badge „geschützt“, damit der Editor auf Installationen ohne das Pro-Plugin sicher nutzbar bleibt. - Intern: Direkte Verwendungen von
GBBA_Plugin::PROTECTED_BLOCKSdurch den neuen HelferGBBA_Plugin::get_protected_blocks()ersetzt, der die von Pro ersetzten Einträge dynamisch aus der Schutzliste entfernt.GBBA_Plugin::is_generateblocks_pro_active()stellt die Erkennung bereit (nutzt die von GB Pro selbst definierte KonstanteGENERATEBLOCKS_PRO_VERSION, kein zusätzlicher Blick in die Pluginliste).
1.3.8
- Kritischer Fix: Jeder Block und jede Embed-Variante wird im DOM der Einstellungsseite zweimal dargestellt – einmal in der Kategorieansicht und einmal in der Namensraumansicht. Beide teilen sich
name="hidden[]"(bzw.name="hidden_embed[]"), und das HTML5-Attributhiddenblendet die inaktive Ansicht zwar optisch aus, schließt ihre Eingabefelder aber nicht vom Absenden des Formulars aus. Wurden Checkboxen nur in einer Ansicht umgeschaltet, sendete die andere Ansicht daher unbemerkt den alten Zustand erneut, wodurch der Umschalter „Alle ausblenden“ / „Alle anzeigen“ defekt wirkte: Nach dem Speichern erschienen alle Checkboxen wieder markiert, obwohl sie gerade abgewählt worden waren. Das Admin-Script spiegelt jetzt jede Änderung einer Checkbox (manueller Klick oder Button „Alle umschalten“) auf die Zwillings-Checkbox mit demselbenname/valuein der anderen Ansicht, sodass beide Ansichten synchron bleiben und nur ein Zustand gesendet wird. Vorhandene Daten sind sicher; Benutzer, bei denen fälschlich Blöcke ausgeblendet waren, sollten die Einstellungsseite nach dem Update einmal öffnen, „Alle umschalten“ anklicken, bis die betroffenen Gruppen geleert sind, speichern und den Editor neu laden.
1.3.7
- UX: Legacy-Blöcke bzw. reine Render-Blöcke werden auf der Admin-Seite nicht mehr aufgeführt. Manche Plugins (zum Beispiel GenerateBlocks 2.x für seinen
generateblocks/container) halten einen alten Block als reinen serverseitigen Renderer registriert, damit vorhandene Beiträge nach einem Refactoring weiterhin dargestellt werden. Solche Blöcke erscheinen nie im Inserter und lassen sich daher nicht sinnvoll ausblenden; bisher wurden sie trotzdem gelistet, was zu doppelten Einträgen führte (zum Beispiel zwei Zeilen „Container“ nebeneinander – eine für den neuen Element-Block, die andere für den Legacy-Container-Renderer). Erkennungsheuristik: leeresattributes-Schema in Kombination mit fehlender Block-Kategorie. Pro-Blöcke sind nicht betroffen, da sie durchgängig überblock.jsonregistriert werden und daher immer sowohl Attribute als auch eine Kategorie besitzen.
1.3.6
- Nachbesserung zu 1.3.5:
array_map( 'sanitize_text_field', wp_unslash( $_POST[...] ) )steht jetzt direkt im selben Ausdruck wie der Zugriff auf$_POST– WPCS wertet den SniffInputNotSanitizedzeilenweise aus, daher wurde ein Bereinigungsschritt in der Folgezeile nicht erkannt.
1.3.5
- Konformität mit Plugin Check:
- Den überflüssigen Aufruf von
load_plugin_textdomain()inclass-gbba-plugin.phpentfernt – WordPress lädt Übersetzungen seit 4.6 automatisch über den HeaderDomain Path. $_POST['hidden']und$_POST['hidden_embed']werden vor der Prüfung gegen die Freigabeliste jetzt zusätzlich durcharray_map( 'sanitize_text_field', … )gefiltert (behebt die WarnungInputNotSanitized).- Den Aufruf
do_action( 'enqueue_block_editor_assets' )mit einem eindeutigenphpcs:ignoresamt Erklärung markiert – der Core-Hook wird absichtlich ausgelöst, damit andere Plugins/Themes ihre Block-Assets registrieren. uninstall.php: Die lokalen Variablen der Multisite-Schleife$sites/$sitein$gbba_sites/$gbba_siteumbenannt (behebt die WarnungNonPrefixedVariableFound).readme.txt: Kurzbeschreibung und den Block== Description ==ins Englische übersetzt; den EintragContributorsauf ein gültiges WordPress.org-Format umgestellt.
- Den überflüssigen Aufruf von
1.3.4
- UX: Link „Einstellungen“ in der WordPress-Pluginliste – direkter Sprung von Plugins zur Konfigurationsseite des Plugins.
1.3.3
- UX: engeres Spaltenraster – Mindestspaltenbreite 280 px (bisher 340 px). Auf 1920-px-Monitoren ergibt das etwa 6 Spalten, auf 1440-px-Monitoren 4 Spalten.
1.3.2
- UX: In der Kategorieansicht wird der Block-Namensraum (z. B.
core/paragraph) nicht mehr als Slug-Tag angezeigt. In der Namensraumansicht und bei Embed-Varianten erscheint er weiterhin.
1.3.1
- Fix: Block-Icons werden jetzt zuverlässig dargestellt. Auf der Einstellungsseite werden die WordPress-Core-Blöcke nun clientseitig explizit über
wp.blockLibrary.registerCoreBlocks()registriert; bisher waren sie zwar lose geladen, fehlten aber in der Blocktyp-Registry. - Diagnosehinweis in der Browserkonsole, wenn Block-Icons nicht aufgelöst werden können.
1.3.0
- Block-Icons werden jetzt auf der Einstellungsseite zwischen Checkbox und Blockname angezeigt – auch bei Embed-Varianten. Darstellung über
wp.blockEditor.BlockIcon. Dafür werden die Block-Editor-Assets auf der Einstellungsseite geladen.
1.2.1
- Fix: Blöcke ohne deklarierte Kategorie (zum Beispiel innere GenerateBlocks-Blöcke wie
loop-item,query-page-numbers,query-no-results) landen nicht mehr unter „Ohne Kategorie“, sondern in der Gruppe ihres eigenen Namensraums.
1.2.0
- UX: Button „Speichern“ am Ende jeder Gruppe – langes Scrollen entfällt.
- UX: Pro-Badge nur noch einmal in der Gruppenüberschrift; überflüssige Pro-Badges je Block und das Badge in der Einleitung entfernt.
- Statistik: Die Anzahl der ausgeblendeten Embed-Varianten wird jetzt gezählt und in der Einleitung angezeigt.
1.1.0
- GenerateBlocks Free und GenerateBlocks Pro werden in getrennten Gruppen angezeigt (bisher zusammengefasst).
- Neuer Abschnitt: Embed-Varianten (YouTube, Reddit, Vimeo, TikTok, Bluesky, …) lassen sich jetzt einzeln aus dem Editor entfernen. Technisch über
wp.blocks.unregisterBlockVariation(). - Filter
gbba_embed_variationszum Erweitern der Variantenliste. - Die Live-Suche erfasst jetzt auch Embed-Varianten.
1.0.0
- Erste Veröffentlichung.
