求适用于WordPress的简易JavaScript全站字体修改脚本(无Cookie场景)
大部分Cookie同意插件会在用户选择不接受时设置一个Cookie记录状态,我们可以通过读取这个Cookie来触发字体修改逻辑,以下是适合新手的简易实现方案:
1. 读取Cookie的辅助函数
先写一个简单的函数,用来获取指定名称的Cookie值,逻辑直白好懂:
function getCookie(name) { const value = `; ${document.cookie}`; const parts = value.split(`; ${name}=`); if (parts.length === 2) return parts.pop().split(';').shift(); }
2. 判断状态并修改字体族
等页面DOM加载完成后,检查用户的Cookie同意状态,然后修改页面基础字体(修改body元素的字体后,页面子元素会自动继承这个设置):
// 确保页面元素加载完成后再执行代码 document.addEventListener('DOMContentLoaded', function() { // 替换成你的Cookie插件记录拒绝状态的Cookie名称,比如很多插件用'cookie_consent',值为'false'表示拒绝 const cookieConsent = getCookie('cookie_consent'); // 如果用户拒绝了Cookie,就替换成目标字体族 if (cookieConsent === 'false') { // 这里换成你想要的字体,比如无衬线字体或者自定义字体 document.body.style.fontFamily = "'Arial', sans-serif"; } });
在WordPress中使用的方法
- 打开WordPress后台,进入「外观」→「自定义」→「额外JavaScript」(不同主题入口可能有差异,也可以用代码片段插件添加)
- 把上面两段代码粘贴进去,保存即可
注意事项
- 请确认你的Cookie插件实际使用的拒绝状态Cookie名称和值,比如有的插件用
cc_denied作为名称,或用0表示拒绝,需要对应修改getCookie的参数和判断条件 - 如果只想修改特定区域的字体(比如仅文章内容),把
document.body换成对应元素选择器,比如document.querySelector('.entry-content')
内容的提问来源于stack exchange,提问作者Alexia Youcef
相关产品推荐
相关产品推荐

