在WordPress Neve主题中配置Adobe字体遇阻,求解决方案
问题诊断与修正步骤
你当前的代码和操作存在几个关键错误,导致字体无法正常显示在Neve主题的字体菜单中,以下是具体问题和修复方案:
1. 错误地在CSS插件中放置PHP代码
自定义CSS插件仅支持纯CSS代码,你添加的PHP函数(add_custom_font()、add_custom_fonts()等)不会被执行,这是字体无法注册到主题菜单的核心原因。必须将PHP代码放到子主题的functions.php文件中,或者使用代码片段插件(如Code Snippets)来运行PHP代码。
2. 混淆了Typekit加载与本地字体加载逻辑
你同时使用了Typekit的<link>标签和本地@font-face规则,这完全冲突:
- Adobe字体(Typekit)是通过官方提供的
<link>链接远程加载的,不需要本地字体文件,所以@font-face部分的代码完全多余,直接删除即可。 - 若要使用Typekit字体,只需确保
<link>标签正确加载,无需处理本地文件路径。
3. 字体家族名格式错误
代码中多处将zuume-cut, sans-serif作为字体家族名,这是错误的:
sans-serif是备用字体,不属于字体家族名的一部分,正确的字体家族名应为'zuume-cut'(需匹配Typekit中该字体的官方名称)。
4. 冗余的重复代码
你定义了两个完全相同的@font-face规则,这毫无意义,直接删除重复部分。
正确的实现步骤
步骤1:移除错误代码
- 从自定义CSS插件中删除所有PHP代码,只保留Typekit的
<link>标签(注意:如果使用代码片段插件加载PHP,<link>标签也可以通过PHP输出,避免直接放在CSS插件里)。
步骤2:注册字体到Neve主题菜单
将以下PHP代码添加到子主题的functions.php或代码片段插件中:
// 加载Typekit字体链接 function enqueue_typekit_font() { wp_enqueue_style( 'typekit-zuume-cut', 'https://use.typekit.net/ati2qpt.css' ); } add_action( 'wp_enqueue_scripts', 'enqueue_typekit_font' ); add_action( 'customize_controls_enqueue_scripts', 'enqueue_typekit_font' ); // 将字体添加到Neve主题的字体选择菜单 function add_neve_custom_fonts( $localized_data ) { // 添加Zuume Cut字体到自定义分类下 $localized_data['fonts']['Custom'][] = 'zuume-cut'; // 如果有其他字体,按同样格式添加 // $localized_data['fonts']['Custom'][] = '其他字体名'; return $localized_data; } add_filter( 'neve_react_controls_localization', 'add_neve_custom_fonts' );
步骤3:验证字体是否加载
- 打开网站前端,通过浏览器开发者工具(F12)检查
<head>标签是否包含https://use.typekit.net/ati2qpt.css链接。 - 检查网络请求,确认该CSS文件已成功加载,且包含
zuume-cut字体的@font-face规则(由Typekit自动生成)。
步骤4:在Neve主题中应用字体
进入WordPress后台的外观 > 自定义,找到字体设置选项(如“排版”或“字体”),在字体下拉菜单中找到“Custom”分类下的zuume-cut,选择后保存设置即可。
额外注意事项
- 确保你在Typekit后台已将该网站的域名添加到授权列表中,否则字体无法正常加载。
- 若字体仍未显示,清除WordPress缓存和浏览器缓存后重试。
内容的提问来源于stack exchange,提问作者Jim
相关产品推荐
相关产品推荐

