给博客添加一个“一言”API功能
OrangeThinK 2020年03月24日 •  0
本文最后修改于 1486 天前,部分内容可能已经过时!

有很多小伙伴都喜欢在自己的博客上加“一言”功能,不过一般都是调用的第三方API,或者是写死在静态页面当中的,现在学会这个就大可不必了

本网站方法

1、打开模板文件的functions.php

2、在function themeConfig($form) { 添加

   $myword=new Typecho_Widget_Helper_Form_Element_Textarea('myword', NULL, NULL, _t('一言'), _t('一言:一行一条'));
$form->addInput($myword);

3、回到控制台找到外观设置外观

4、把你喜欢的句子添加进去(一言数据源)

在要放置“一言”的地方添加以下代码,其中myword就是function里面设置的变量名

if($this->options->myword&&$this->options->myword!=''){
       $data=explode(PHP_EOL,$this->options->myword);
        // 随机获取一行索引
         $result = $data[array_rand($data)]; 
        // 去除多余的换行符(保险起见)
         $result = str_replace(array("\r","\n","\r\n"), '', $result); 
        echo  "<p style="overflow: hidden;text-overflow: ellipsis">$result </p>";
                    }

file_get_contents方法

准备工作
1、新建一个php文件,命名为API.php(采用UTF-8 编码)
2、新建一个文本文件,重命名为Data.dat(采用UTF-8 编码,此文本文件为一言数据源)
3、打开Data.dat(文件后缀其实不限,也可以直接是Data.txt),写入古诗名句神马的,每行一句

上代码
1、打开API.php,将代码复制粘贴进去

 <?php 
// 存储数据的文件 
$filename = 'data.dat'; 
// 指定页面编码 
header('Content-type: text/html; charset=utf-8'); 
if(!file_exists($filename)) { 
die($filename . ' 数据文件不存在'); } 
// 读取整个数据文件 
$data = file_get_contents($filename); 
// 按换行符分割成数组
 $data = explode(PHP_EOL, $data); 
// 随机获取一行索引
 $result = $data[array_rand($data)]; 
// 去除多余的换行符(保险起见)
 $result = str_replace(array("\r","\n","\r\n"), '', $result); 
echo 'document.write("'.htmlspecialchars($result).'");';
?>

然后在需要的位置用引入 js 的方式进行调用即可。

示例代码:
<script src="http://你的网址/api.php "></script >

当然你也可以试着将二者结合,说不定也还不赖呢

“禁足”的二月,再见 打赏
请作者吃个鸡腿!
真实!一招快速开米袋实用技巧

该页面评论已关闭