Wie man Gutenberg-Block-Kategorien in WordPress auflistet und neu anordnet oder manipuliert

Lesezeit: 2 Minuten

Jeder weiß, wie man die Blockkategorien im Gutenberg-Editor in WordPress neu anordnet und manipuliert. Ich kann nicht einmal eine Liste davon zurückgeben, wie Sie es mit den Blöcken selbst können. Alles, was ich finden kann, ist ‘getCategories’, was nicht zu tun scheint irgendetwas … die neue Dokumentation ist überhaupt nicht großartig.

  • Ich stimme dem zu, alles, was ich finden kann, ist der Hook get_block_categories() – developer.wordpress.org/reference/functions/…aber alles, was es tut, ist, die verfügbaren Blöcke aufzulisten, scheint keinen Weg zu finden, sie überhaupt zu manipulieren.

    – Paul Jackson

    11. Mai 2019 um 22:25 Uhr


Dies war der Trick für mich, einen benutzerdefinierten Guttenberg-Block zu registrieren und ihn zur ersten Option im WP-Admin-Editor zu machen:

function custom_block_category( $categories ) {
    $custom_block = array(
        'slug'  => 'my-blocks',
        'title' => __( 'My Test Blocks', 'my-blocks' ),
    );

    $categories_sorted = array();
    $categories_sorted[0] = $custom_block;

    foreach ($categories as $category) {
        $categories_sorted[] = $category;
    }

    return $categories_sorted;
}
add_filter( 'block_categories', 'custom_block_category', 10, 2);

Hier ist eine kürzere Lösung:

function custom_block_category( $categories ) {
    return array_merge(
        array(
            array(
                'slug' => 'my-blocks',
                'title' => __( 'My Test Blocks', 'my-blocks' ),
            ),
        ),
        $categories
    );
}
add_filter( 'block_categories', 'custom_block_category', 10, 2 );

  • Dadurch werden alle anderen Kategorien aus der Liste entfernt.

    – Jsalinas

    16. November 2020 um 0:06 Uhr

  • Bist du dir sicher? Es sieht schlicht und einfach aus und sollte im Grunde die neue Kategorie an die bestehenden anhängen. Ich habe es auch gerade gecheckt. Davor sind es 6 Kategorien und danach 7 Kategorien. Außerdem ist es im Grunde der gleiche Ansatz wie im WordPress-Entwicklerhandbuch (developer.wordpress.org/block-editor/developers/filters/…), sondern nur die Reihenfolge ändern und somit die eigene Kategorie vorne einfügen.

    – Enso

    17. November 2020 um 6:13 Uhr

Die obige Lösung ist gut für PHP. Aber wenn jemand das mit JavaScript machen möchte, gibt es auch einen guten Weg.

import { getCategories, setCategories } from '@wordpress/blocks';

const customBlockCategory = {
   slug: 'my-custom-block-category',
   title: __('My Custom Block Category', 'text-domain'),
   icon: 'wordpress', // or an SVG icon component as Element
}

// Then Just set you block category.
setCategories([
    ...getCategories(), // This is all default registered categories.
    customBlockCategory,
]);

Wenn Sie die Kategorie zuerst hinzufügen möchten, fügen Sie einfach zuerst Ihren Block an, wie hier –

setCategories([
    customBlockCategory,
    ...getCategories(),
]);

Hoffe, das wird vielen Menschen helfen.

1386910cookie-checkWie man Gutenberg-Block-Kategorien in WordPress auflistet und neu anordnet oder manipuliert

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy