使用heme.json设置默认字体系列

时间:2021-08-13 作者:KKBSE2016

我在网上搜索过,没有找到这个问题的任何答案。我正在开发一个新网站,并开始尝试使用新主题。WordPress 5.8中的json功能。

我在设置版面宽度和定义调色板方面没有遇到任何问题,但是,当涉及到设置自定义字体系列时,编辑器似乎没有注意到这一点。

我已将自定义Google字体排入队列:

function prefix_block_styles() {
    wp_enqueue_style( \'prefix-editor-font\', \'//fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500;700&display=swap\');
}
    
add_action( \'enqueue_block_editor_assets\', \'prefix_block_styles\' );
然后我把这个作为我当前的主题。json:

{
    "version":1,
    "settings": {
        "typography": {
            "fontFamilies": [
                {
                    "fontFamily": "Helvetica Neue, Helvetica, Arial, sans-serif",
                    "slug": "helvetica-arial",
                    "name": "Helvetica or Arial"
                },
                {
                    "fontFamily": "\\"Ubuntu\\", sans-serif",
                    "slug": "ubuntu-sansserif",
                    "name": "Ubuntu"
                }
            ]
        },
        "layout": {
            "contentSize": "1600px",
            "wideSize": "1600px"
        }
    }
}
然后刷新编辑器时,它仍以衬线加载。

有人知道我做错了什么吗?

谢谢

2 个回复
SO网友:Xavi

我遇到了同样的问题,我找到了解决方法:

对于每个“;fontFamily“;“内部”;fontFamilies“;数组,您将获得一个自定义变量。从您的示例中,您可以在样式表或主题中使用这两个变量。json:

--wp--preset--font-family--helvetica-arial
--wp--preset--font-family--ubuntu-sansserif
然后您可以这样调用字体:

{
    "version":1,
    "settings": {
        "typography": {
            "fontFamilies": [
                {
                    "fontFamily": "Helvetica Neue, Helvetica, Arial, sans-serif",
                    "slug": "helvetica-arial",
                    "name": "Helvetica or Arial"
                },
                {
                    "fontFamily": "\\"Ubuntu\\", sans-serif",
                    "slug": "ubuntu-sansserif",
                    "name": "Ubuntu",
                    "google": "family=Ubuntu:wght@300;400;500;700&display=swap",

                }
            ]
        },
        "layout": {
            "contentSize": "1600px",
            "wideSize": "1600px"
        }
    },
    "styles": {
        "typography": {
            "fontFamily": "var(--wp--preset--font-family--ubuntu-sansserif)",
        }
    }
}
有时你需要激活/停用你的主题。

SO网友:psorensen

此时,typography.fontFamilies 仅在Gutenberg插件中可用。必须安装插件才能使此设置生效。请参见上的比较切换https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-json/#settings