【发布时间】:2012-08-31 18:16:28
【问题描述】:
我正在制作一个 wordpress 主题,该主题具有允许用户从 Google 选择自己的字体的功能。显然,因为这是一个 wordpress 主题,所以无法为每次安装创建一个新的 API 密钥。
我只需要按字母顺序排列的字体列表。
如果有人给我一种按类别对他们进行分组的方法,可以获得奖励积分!
【问题讨论】:
标签: php wordpress google-font-api
我正在制作一个 wordpress 主题,该主题具有允许用户从 Google 选择自己的字体的功能。显然,因为这是一个 wordpress 主题,所以无法为每次安装创建一个新的 API 密钥。
我只需要按字母顺序排列的字体列表。
如果有人给我一种按类别对他们进行分组的方法,可以获得奖励积分!
【问题讨论】:
标签: php wordpress google-font-api
查看developer API。您可以查询它以获取字体列表。我不确定它是否对它们进行了分类,但你确实得到了很多细节。
更新:
您只需要一个超出使用限制的 API 密钥,因此根据您的调用次数,您只需 parse this JSON。
进一步更新:
看来您现在确实需要一个 API 密钥来调用 Developer API。
【讨论】:
我会用我需要的最小值构建我的列表并将其存储在本地。 您可以将其作为 json 字符串存储在您的页面上。
例如在浏览器中打开: https://www.googleapis.com/webfonts/v1/webfonts?key=YOUR-API-KEY
var allGoogleFonsts = JSON.parse(JSON_RESULT);
var fontFamilyWithCategory = allGoogleFonsts.items.map(fontItem => {
return {
family: fontItem.family,
category: fontItem.category,
};
});
var groupBy = function(xs, key, value) {
return xs.reduce(function(rv, x) {
(rv[x[key]] = rv[x[key]] || []).push(x[value]);
return rv;
}, {});
};
var fontFamilyByCategory = groupBy(fontFamilyWithCategory, 'category', 'family');
现在您可以在没有 api 调用的情况下存储和使用它:
console.log(JSON.stringify(fontFamilyByCategory));
【讨论】: