WordPress 5.8 使用 theme.json 配置主题设计

从WordPress 5.8开始,一个新工具——“theme.json”——可用于您的主题。也许您是第一次听说它,或者您已经在用它测试和开发主题。无论哪种方式,我都很高兴您来到这里,因为对于 WordPress 主题来说,这是一个激动人心的时刻。

这篇文章简要介绍了这个新框架,并通过分享一些实用的技巧和示例来描述可能的情况。

什么是theme.json?

从技术上讲,theme.json 只是一个位于主题目录顶层的文件。 

从概念上讲,这是主题开发方式的重大转变。主题作者现在有一个集中的机制来为网站作者和访问者定制 WordPress 体验。Theme.json 为主题作者提供对全局样式、块样式和块编辑器设置的细粒度控制。

通过在单个文件中提供这些设置和控件,theme.json 提供了一个强大的框架,将主题设计和开发的许多方面结合在一起。而作为块编辑器日趋成熟,并增加了更多的功能,theme.json会发光为骨干主题和编辑工作一起。 

为什么使用它?

这是未来!但如果你像我一样,你可能需要更具体的东西才能被说服。以下是您今天可能使用 theme.json 的几个原因:

  • 控制颜色、排版、间距和布局等编辑器设置,并整合管理这些设置的位置。
  • 保证样式正确应用于整个站点的块和元素。
  • 减少主题用于提供的样板 CSS 的数量。Theme.json 不会完全替换您的样式表 — 在某些情况下,需要 CSS 来为您的主题提供额外的耀斑(过渡、动画等)。但它可以大大减少主题所需的基本 CSS。

我如何使用它?

本文的其余部分演示了一些您可以尝试的 theme.json 配置。这些示例使用 tt1-blocks theme.json —今年默认主题的基于块的版本。 

如果你开始与现有的主题,你可以尝试从复制theme.json WordPress的/主题的实验资料库(例如,在FSE-教程主题),并将其添加到你的主题目录的根目录。

全局更改站点的排版设置

"settings": {
    "typography": {
        "fontSize": "30px",
        ...

全局更改站点的基色设置

"styles": {
    "color": {
        "background": "#ffc0cb",
        "text": "#6A1515"
    },
    ...
}

更改特定块的间距/填充设置

"styles": {
    "blocks": {
        "core/code": {
            "spacing": {
                "padding": {
                    "top": "3em",
                    "bottom": "3em",
                    "left": "3em",
                    "right": "3em"
                }
            }
        }
    }
}

在编辑器中为按钮等特定块设置自定义调色板

"settings": {
    "blocks": {
        "core/button": {
            "color": {
                "palette": [ 
                    {
                        "name": "Maroon",
                        "color": "#6A1515",
                        "slug": "maroon"
                    },
                    {
                        "name": "Strawberry Ice Cream",
                        "color": "#FFC0CB",
                        "slug": "strawberry-ice-cream"
                    }
                ]
            }
        }
    }
}

启用和禁用排版控件

"settings": {
    "blocks": {
        "core/heading": {
            "typography": {
                "customFontSize": false,
                "customLineHeight": false
            }
        }
    }
}

如果您有兴趣了解更多信息,请参阅手册中有关 theme.json 的文档

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论