本文最后修改于 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 >
当然你也可以试着将二者结合,说不定也还不赖呢
该页面评论已关闭