目录
大纲
WP建站和运维

区块变量

欢迎来到本课程

在本课中,我们将深入探讨如何扩展已注册区块,并创建区块设置的替代版本。

学习目标

通过本课程,您将能够:

  • 描述区块变体
  • 区分区块变体与区块样式
  • 将JavaScript文件添加到主题中
  • 注册区块变体

什么是区块变体?

区块变体是您可以使用区块变体API添加到主题中的替代区块。您将使用从创建变体的区块中已分配的属性。

您不需要构建过程,因为您可以选择从functions.php中排队自定义JavaScript文件,同时传递一些依赖项。

您可以选择将区块变体放置在插件中或主题文件中。

如果您还没有机会查看WordPress初学者开发人员学习路径,请务必查看有关开发WordPress插件的模块。

区块变体与区块样式

区块变体和区块样式有什么区别?

区块变体和区块样式之间的主要区别在于,区块样式将CSS类应用于区块,以便可以以替代方式进行样式设置。

让我们看一下使用Twenty Twenty-Four主题的示例。

他们有这种带有星号的区块样式。您会看到CSS类是style asterisks。

这可以应用于标题,但是,它不是段落区块可用的区块样式,仅适用于标题区块。

如果您点击插入器并向下滚动,您将看到区块变体的示例。这是WordPress核心自带的,每个嵌入都是区块变体。

要查看完整代码,您可以在GitHub上查看。

如果您想了解更多关于区块变体和区块样式之间的区别,可以参考一个很棒的在线研讨会。

添加JavaScript

现在让我们将JavaScript文件添加到您的主题中。

您可以将JavaScript文件命名为block-variations,并将其放置在assets下的JS子文件夹中。

注册区块变体

现在让我们注册区块变体。

您可以使用functions.php文件,打开您的PHP,使用enqueue_block_editor_assets动作钩子,并使用WP_enqueue_script函数。

您在这里看到block-variations.js文件正在被调用,同时还有一些依赖项的数组。

add_action( 'enqueue_block_editor_assets', 'themeslug_enqueue_block_variations' );

function themeslug_enqueue_block_variations() {
    wp_enqueue_script(
        'themeslug-block-variations',
        get_theme_file_uri( 'assets/js/block-variations.js' ),
        array( 
            'wp-blocks', 
            'wp-dom-ready',
            'wp-i18n'
        ),
        wp_get_theme()->get( 'Version' ),
        true
    );
}

下一步

您可以通过参考区块编辑器手册了解更多关于变体的信息,或者您可以查看主题手册。最后,WordPress.org的WordPress开发者博客上有一篇很棒的博客文章。