一言api各位应该很熟悉了,但是怎么在MDUI2333这一主题里使用?官方文档并未涉猎。
MDUI2333底部左侧,会显示哔哩哔哩、GitHub、知乎链接,下面是空的,所以说改就改
有可能会影响访问速度,所以后台留一个选项。
一个搭载MDUI2333主题的typecho程序,以及一双手,一双眼
首先,添加一个选项到 MDUI2333 的设置页面,让用户选择是否开启一言.
在主题的 functions.php 文件中这行代码后(当然可以放在前面)
$config=new Typecho_Widget_Helper_Form_Element_Textarea('pjaxreload',NULL,NULL,_t('附加PJAX重载'),_t('这里可以写入自定义的PJAX重载代码'));添加以下代码来注册一个新的设置选项:
form->addInput($config);
$config=new Typecho_Widget_Helper_Form_Element_Select('yiyan',array(
'true' => '启用',
'false' => '不启用'
),'false',_t('每日一言'),_t('在网站左下角显示每日一言'));使用 cURL 获取 一言API 数据并解析其中的 hitokoto 字段。在 functions.php 文件尾部(好辨别,出了问题也好找),添加以下函数来获取 API 数据:
function getHitokoto() {
$api_url = "https://v1.hitokoto.cn/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
return isset($data['hitokoto']) ? $data['hitokoto'] : '';
}最后,检查用户是否开启了一言选项,如果开启,则在博客前端显示获取的。在 footer.php 文件(或其他适当的位置),添加以下代码:
<?php if ($this->options->yiyan == 'true'): ?>
<div id="hitokoto" style="text-align: center; margin-top: 10px;">
<?php echo getHitokoto(); ?>
</div>
<?php endif; ?>大功告成!