帮主 发表于 2024-7-4 11:07:06

typecho 使用一言api

添加控制选项到 Typecho 后台:首先,添加一个选项到 Typecho 的设置页面,让用户选择是否开启顶部一言诗词。在主题的 functions.php 文件中,添加以下代码来注册一个新的设置选项:function themeConfig($form) {
$hitokoto = new Typecho_Widget_Helper_Form_Element_Radio('hitokoto',
array('0' => '关闭', '1' => '开启'), '0', _t('顶部一言诗词'), _t('选择是否在博客顶部显示一言诗词'));
$form->addInput($hitokoto);
}
获取一言诗词数据:
然后,使用 cURL 获取 API 数据并解析其中的 hitokoto 字段。在 functions.php 文件中,添加以下函数来获取 API 数据:function getHitokoto() {
    $api_url = "https://v1.hitokoto.cn/?c=i";
    $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'] : '';
}在前端显示诗词:最后,检查用户是否开启了一言诗词选项,如果开启,则在博客顶部显示获取的诗词。在 header.php 文件(或其他适当的位置)中,添加以下代码:<?php if ($this->options->hitokoto == '1'): ?>
    <div id="hitokoto" style="text-align: center; margin-top: 10px;">
      <?php echo getHitokoto(); ?>
    </div>
<?php endif; ?>通过以上步骤,你可以实现一个在 Typecho 后台控制是否在博客顶部显示一言诗词的功能。如果用户选择开启,那么会使用 https://v1.hitokoto.cn/?c=i API 获取数据并在前端显示诗词。


SanS三石 发表于 2024-7-4 18:10:32

滴~稀有卡,打卡成功!楼主辛苦了,祝楼主:万事如意🧡,打卡时间:2024年07月04日 18:10:32

七夏 发表于 2024-7-4 18:58:27

滴~稀有卡,打卡成功!楼主辛苦了,祝楼主:开心每一天🥰,打卡时间:2024年07月04日 18:58:27
页: [1]
查看完整版本: typecho 使用一言api