开发一言配置插件

gomkiri 发布于 2025-11-10 76 次阅读


AI 摘要

厌倦了现成一言API的局限?这款WordPress插件让你完全掌控!支持自定义内容、批量导入、双缓存机制,还能防刷防CDN。在后台轻松管理所有一言,提供两种API接口,让你的网站金句频出。

前言

在我使用的主题 Sakurairo 中,作者为我们贴心的引入了页尾一言功能,现在市面上确实有很多一言的 API,但是经过考察,我发现这些 API 要不内容是现成的,可自定义程度低,要不需要额外部署,增加维护成本,于是我决定直接做一个 WP 插件来实现一下功能:

  1. 提供一个接口,随机获取一言
  2. wp-admin页面就能完成所有的一言管理,包括查看、删除、导入导出
  3. 提供池缓存和短缓存,保证可用性的同时还可以防刷
  4. 不受 CDN 影响

于是我实现了这样一个插件:

README

安装

就代码保存到~wordpress/wp-content/plugins/hitokoto-advanced/hitokoto-advanced.php后,回到控制台就可以看到多了一个叫做Hitokoto Manager & API (Advanced)的插件,点击启用就可以看到左侧多了一个一言管理。

管理一言

新增一言中中标题用于管理时区分,没有其他展示效果也不是在调用 API 时返回,正文是展示主题,来源和作者一般用于展示的可选项,然后语言和类型可用于查询参数。

同时插件还支持通过 JSON 或者 CSV 批量导入,使用 CSV 时,要求首行为hitokoto,from,from_who,type,lang,JSON 使用 JSON 数组,单个JSON格式如下:

  {
    "hitokoto": "将过去和羁绊全部丢弃,不要吝惜那为了梦想流下的泪水。",
    "from": "海贼王",
    "from_who": "蒙奇·d·路飞",
    "type": "one piece",
    "lang": "zh-CN"
  }
JSON

使用 API

插件提供了两种使用方式,分别是https://你的域名/wp-json/hitokoto/v1/texthttps://你的域名/wp-json/hitokoto/v1/random,响应示例如下:

// text:
"就算你们把酒或食物丢在我头上,或是你们吐口水在我身上,我都会笑笑当作没事。但是,不管你们有什么样的理由,我都不会饶了伤害我朋友的家伙!"

// random
{
  "id": 421,
  "hitokoto": "就算你们把酒或食物丢在我头上,或是你们吐口水在我身上,我都会笑笑当作没事。但是,不管你们有什么样的理由,我都不会饶了伤害我朋友的家伙!",
  "from": "海贼王",
  "from_who": "香克斯",
  "type": "one-piece",
  "lang": "zh-CN",
  "length": 67
}
JSON

同时还支持两种路径传参的可选参数:langtype ,分别对应语言和类型。

缓存说明

插件提供了 30s 的随机结果缓存和 300s 的ID池缓存。