如何在 Wordpress 中列出和重新排列或操作 Gutenberg 块类别

Posted

技术标签:

【中文标题】如何在 Wordpress 中列出和重新排列或操作 Gutenberg 块类别【英文标题】:How to list and re-arrange or manipulate Gutenberg Block Categories in Wordpress 【发布时间】:2019-06-08 15:55:26 【问题描述】:

任何人都知道如何在 Wordpress 的 Gutenberg 编辑器中重新排列、操作块类别我什至无法像使用块本身那样返回它们的列表,我能找到的只是“getCategories”,它没有似乎没有做任何事情......新文档一点也不好。

【问题讨论】:

我支持这个,我能找到的只是 get_block_categories() 钩子 - developer.wordpress.org/reference/functions/…,但它所做的只是列出可用的块,似乎根本找不到操作它的方法. 【参考方案1】:

这为我注册了一个自定义 Guttenberg 块并使其成为 WP Admin 编辑器中的第一个选项起到了作用:

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);

【讨论】:

【参考方案2】:

这是一个更简短的解决方案:

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 );

【讨论】:

这将从列表中删除任何其他类别。 你确定吗?它看起来很简单,基本上应该将新类别附加到现有类别中。我也刚查了。之前是6个类别,之后是7个类别。此外,它与 WordPress 开发手册 (developer.wordpress.org/block-editor/developers/filters/…) 中列出的方法基本相同,只是更改了顺序,从而在前面插入了自己的类别。

以上是关于如何在 Wordpress 中列出和重新排列或操作 Gutenberg 块类别的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UIScrollview 中重新排列和删除 UIView,例如在 iOS 主屏幕中重新排列的应用程序

如何在数组中列出 wordpress 类别 ID 和名称?

text Wordpress列出所有帖子在wordpress(博客或新闻页面))

如何通过拖动在SwiftUI ZStack中重新排列视图

如何在 wordpress 插件开发中列出表格?

列出字符串/整数的所有排列