首页
微语
统计
友链
留言
memos
圈子
图床
推荐
相册
网站监控
VPS监控
Search
1
实现typecho微信时光机功能的图文教程
50,115 阅读
2
为Typecho添加webp解析
43,970 阅读
3
Memos备忘录,记录瞬间想法
29,507 阅读
4
emlog数据成功迁移到typecho
28,713 阅读
5
Jasmine - 简约、美观的博客主题
28,470 阅读
手机达人
免费资源
电脑网络
娱乐休闲
网站建设
威言威语
Typecho
Emlog
WordPress
服务器
主题
插件
排行榜    
登录
/
注册
Search
标签搜索
wordpress
发布
插件
免费
教程
typecho
EMlog
PHP
代码
CSS
华为
图片
安装
代码修改
评论
手机
诺基亚
微信
文章
智能
Chen'mo
累计撰写
1,272
篇文章
累计收到
382
条评论
首页
栏目
手机达人
免费资源
电脑网络
娱乐休闲
网站建设
威言威语
Typecho
Emlog
WordPress
服务器
主题
插件
页面
微语
统计
友链
留言
memos
推荐
相册
网站监控
VPS监控
搜索到
93
篇与
的结果
2022-11-06
Joe 主题对接腾讯 LBS 展示 IP 属地
上次偶然逛 CSDN 看到腾讯的 LBS 服务支持 IP 定位,而且还支持 IPv6 地址定位,这个是其他 LBS 供应商所不支持的 (百度地图、高德地图),所有腾讯 LBS 服务还算良心。我们一步一步对接主题吧,今天先来申请应用 AK。注册账号https://lbs.qq.com/打开腾讯位置服务官网,点击登录,直接使用 QQ 登录或微信登录即可,如果单独注册需要输入手机号之类,麻烦的事情,但是使用 QQ 登录 / 微信登录后也需要校验一下手机号,但是个人信息不用填写太多。创建应用打开控制台,左侧有一个应用管理,点击后可创建应用,输入应用名称和应用类型即可,无需输入域名、备案信息啥的,所有这方便无需担心。创建应用一个应用可以添加多个 Key,一个 Key 每日可调用 10000 次,并发 5 次每秒。添加Key这时候我们选择 WebService API 服务即可,选择后有三种方案,域名白名单、授权 IP、签名校验,一般我们会部署在服务器上,所以可以选择授权 IP,这样方便一些;域名白名单和签名校验限制有些多,且我们这次对接主题也是以授权 IP 为主。保存后我们就能拿到一个 Key,这里我们简称 AK,下面开始对接 Joe 主题展示博友访客 IP 属地信息。添加主题调用方法2022.05.25:为了个人隐私,以下代码已去除城市和区县信息,仅显示国家和省核心方法代码位置:Joe/core/function.php 在末尾添加以下代码/* 腾讯Lbs IP定位服务 */ function curl_tencentlbs_ip($ip) { //应用Key也就是上面所说的AK,修改成自己的Key即可 $key = 'XXX-XXX'; $url = 'https://apis.map.qq.com/ws/location/v1/ip?ip='.$ip.'&key='.$key; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_AUTOREFERER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_HTTPGET, true); curl_setopt($ch, CURLOPT_REFERER, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'); $content = curl_exec($ch); curl_close($ch); if($content) { $json = json_decode($content,true); if($json['status'] == 0 ) { $resjson = $json['result']['ad_info']; if($resjson['province']=='北京市'||$resjson['province']=='天津市'||$resjson['province']=='上海市'||$resjson['province']=='重庆市') { return $resjson['nation'].$resjson['city']; } return $resjson['nation'].$resjson['province']; } } return ''; }上面调用接口后,处理以下国内的直辖市,这样就不会显示成北京市北京市了。修改主题评论相关代码评论代码位置:/Joe/public/comment.php需要修改的位置大概在末尾最后一个方法,位置 112 行。也可以在需要显示评论信息的位置插入下方嵌入点代码即可,我是把 IP 信息放在 agent 旁边了,这样不是特别显眼。<?php echo curl_tencentlbs_ip($comments->ip); ?>以下示例代码从 96 行到尾部<?php function threadedComments($comments, $options) { ?> <li class="comment-list__item"> <div class="comment-list__item-contain" id="<?php $comments->theId(); ?>"> <div class="term"> <img width="48" height="48" class="avatar lazyload" src="<?php _getAvatarLazyload() ?>" data-src="<?php _getAvatarByMail($comments->mail); ?>" alt="头像" /> <div class="content"> <div class="user"> <span class="author"><?php $comments->author(); ?></span> <?php if ($comments->authorId === $comments->ownerId) : ?> <i class="owner">作者</i> <?php endif; ?> <?php if ($comments->status === "waiting") : ?> <em class="waiting">(评论审核中...)</em> <?php endif; ?> <div class="agent"><?php echo curl_tencentlbs_ip($comments->ip); ?> <?php _getAgentOS($comments->agent); ?> · <?php _getAgentBrowser($comments->agent); ?></div> </div> <div class="substance"> <?php _getParentReply($comments->parent) ?> <?php echo _parseCommentReply($comments->content); ?> </div> <div class="handle"> <time class="date" datetime="<?php $comments->date('Y-m-d'); ?>"><?php $comments->date('Y-m-d'); ?></time> <span class="reply joe_comment__reply" data-id="<?php $comments->theId(); ?>" data-coid="<?php $comments->coid(); ?>"> <i class="icon fa fa-pencil" aria-hidden="true"></i>回复 </span> </div> </div> </div> </div> <?php if ($comments->children) : ?> <div class="comment-list__item-children"> <?php $comments->threadedComments($options); ?> </div> <?php endif; ?> </li> <?php } ?>效果如下: 其他博客主题,应该也可以适用。
2022年11月06日
13,170 阅读
1 评论
1 点赞
2022-10-12
Typecho一些魔改代码
侧栏文章增加排列序号{collapse}{collapse-item label="侧栏文章增加排列序号" open}<?php $i = 1; ?> <?php while($post->next()): ?> <li><span class="label label-<?php echo $i; ?>"><?php echo $i; ?></span><a href="<?php $post->permalink(); ?>"><?php $post->title(); ?></a></li> <?php $i++; ?> <?php endwhile; ?>{/collapse-item}{collapse-item label="各种判断"}<?php if($this->is('index')):?> 首页 <?php if($this->is('category')):?> 分类 <?php if($this->is('category', 'category1')):?> 独立分类 <?php if($this->category == "help"): ?> 首页判断文章所在分类 <?php if($this->is('page')):?> 页面 <?php if($this->is('page', 'page1')):?> 独立页面 <?php if($this->is('post')):?> 内容页 <?php if ($pages->slug != 'page1'): ?> 导航不显示某页面 <?php if (($pages->slug != 'page1') && ($pages->slug != 'page2')): ?> 导航不显示某两个页面 <?php if ($category->slug != 'category1'): ?> 导航不显示某分类 <?php if (($category->slug != 'category1') && ($pages->slug != 'category2')): ?> 导航不显示两个分类 <?php if($this->category != "category1"): ?> 首页不显示某分类 <?php if (($this->_currentPage == 1) && ($this->sequence == 1)): ?> 首页第一篇文章 <?php elseif (array_key_exists('字段值',unserialize($this->___fields()))): ?> 自定义字段 <?php if($this->user->hasLogin()): ?> 是否登录 <?php endif; ?>{/collapse-item}{/collapse}自定义字段:<?php if (array_key_exists('image',unserialize($this->___fields()))): ?> <span class="icon-image"></span> <?php elseif (array_key_exists('music',unserialize($this->___fields()))): ?> <span class="icon-music"></span> <?php elseif (array_key_exists('play',unserialize($this->___fields()))): ?> <span class="icon-play"></span> <?php endif; ?> 首页不显示某分类<?php while($this->next()): ?> <?php if($this->category != "cateslug"): ?> //正常输出循环 <?php endif; ?> <?php endwhile; ?>调用相关文章<?php $this->related(5)->to($relatedPosts); ?> <ul> <?php while ($relatedPosts->next()): ?> <li><a href="<?php $relatedPosts->permalink(); ?>" title="<?php $relatedPosts->title(); ?>"><?php $relatedPosts->title(); ?></a></li> <?php endwhile; ?> </ul>调用指定分类文章<?php $this->widget('Widget_Archive@index', 'pageSize=6&type=category', 'mid=3') ->parse('<li><a href="{permalink}">{title}</a></li>'); ?>利用Typecho函数调用自定义分类内容显示方法在模板的functions.php文件中,加入下面的代码function themeInit($archive) { if ($archive->is('category', 'jobs')) { $archive->parameter->pageSize = 8; // 自定义条数 } }同时设定两种不同分类列表下显示不同文章输出数量的实现办法function themeInit($archive) { if ($archive->is('category', 'jobs')) { $archive->parameter->pageSize = 8; // 自定义条数 }elseif($archive->is('category', 'news')){ $archive->parameter->pageSize = 12; // 自定义条数 } }Typecho 程序如何调用循环页面、分类、标签代码方法<!--循环显示页面--> <?php $this->widget('Widget_Contents_Page_List')->to($pages); ?> <?php while($pages->next()): ?> <span class="nav-item<?php if($this->is('page', $pages->slug)): ?> nav-item-current<?php endif; ?>"> <a href="<?php $pages->permalink(); ?>" title="<?php $pages->title(); ?>"> <span><?php $pages->title(); ?></span> </a> </span> <?php endwhile; ?> <!--结束显示页面--> <!--循环所有分类--> <?php $this->widget('Widget_Metas_Category_List')->to($category); ?> <?php while ($category->next()): ?> <span class="nav-item<?php if($this->is('category', $category->slug)): ?> nav-item-current<?php endif; ?>"> <a href="<?php $category->permalink(); ?>" title="<?php $category->name(); ?>"> <span><?php $category->name(); ?></span> </a> </span> <?php endwhile; ?> <!--结束显示分类--> <!--循环显示标签 其中limit的5为显示数量--> <?php $this->widget('Widget_Metas_Tag_Cloud', array('sort' => 'count', 'ignoreZeroCount' => true, 'desc' => true, 'limit' => 5))->to($tags); ?> <?php while($tags->next()): ?> <span class="nav-item<?php if($this->is('tag', $tags->slug)): ?> nav-item-current<?php endif; ?>"> <a href="<?php $tags->permalink(); ?>" title="<?php $tags->name(); ?>"> <span><?php $tags->name(); ?></span> </a> </span> <?php endwhile; ?> <!--结束显示标签-->不同分类调用不同的模板页面<?php if($this->is('category','default')){ $this->need('default.php'); }elseif($this->is('category','technology')){ $this->need('technology.php'); }else{ $this->need('other.php'); } ?>或者<?php $slugArray = array('default','technology'); foreach($slugArray as $slug){ if($this->is('category',$slug)){ $this->need('default.php'); }else{ $this->need('other.php'); } } ?>Typecho最新24小时内文章加上NEW标签方法/** * 时间函数 * */ function timeZone($from){ $now = new Typecho_Date(Typecho_Date::gmtTime()); return $now->timeStamp - $from < 246060 ? true : false; }<?php if(timeZone($this->date->timeStamp)) echo ' new'; ?>最新文章调用<?php $this->widget('Widget_Contents_Post_Recent')->to($post); ?> <?php while($post->next()): ?> <a href=”<?php $post->permalink(); ?>” title=”<?php $post->title(); ?>”> <?php $post->title(25, '…'); ?></a> <?php endwhile; ?>热门文章调用function getHotComments($limit = 10){ $db = Typecho_Db::get(); $result = $db->fetchAll($db->select()->from('table.contents') ->where('status = ?','publish') ->where('type = ?', 'post') ->where('created <= unix_timestamp(now())', 'post') //添加这一句避免未达到时间的文章提前曝光 ->limit($limit) ->order('commentsNum', Typecho_Db::SORT_DESC) ); if($result){ foreach($result as $val){ $val = Typecho_Widget::widget('Widget_Abstract_Contents')->push($val); $post_title = htmlspecialchars($val['title']); $permalink = $val['permalink']; echo '<li><a href="'.$permalink.'" title="'.$post_title.'" target="_blank">'.$post_title.'</a></li>'; } } }大部分代码来自:https://www.itbulu.com/https://maxwuhan.com/
2022年10月12日
14,280 阅读
1 评论
1 点赞
2022-09-26
Joe主题-壁纸代码改造
前言Joe主题有写好的壁纸模版,直接启用即可。刚开始博主感觉分类太多了,有些分类也不是自己喜欢的。就没有启用,最近有时间研究了一下代码。改造了一下,只留下自己感兴趣的分类。核心代码主要是core/route.php文件内的两个函数,调用了360的壁纸接口,原版如下/* 获取壁纸分类 已测试 √ */ function _getWallpaperType($self) { $self->response->setStatus(200); $json = _curl("http://cdn.apc.360.cn/index.php?c=WallPaper&a=getAllCategoriesV2&from=360chrome"); $res = json_decode($json, TRUE); if ($res['errno'] == 0) { $self->response->throwJson([ "code" => 1, "data" => $res['data'] ]); } else { $self->response->throwJson([ "code" => 0, "data" => null ]); } } /* 获取壁纸列表 已测试 √ */ function _getWallpaperList($self) { $self->response->setStatus(200); $cid = $self->request->cid; $start = $self->request->start; $count = $self->request->count; $json = _curl("http://wallpaper.apc.360.cn/index.php?c=WallPaper&a=getAppsByCategory&cid={$cid}&start={$start}&count={$count}&from=360chrome"); $res = json_decode($json, TRUE); if ($res['errno'] == 0) { $self->response->throwJson([ "code" => 1, "data" => $res['data'], "total" => $res['total'] ]); } else { $self->response->throwJson([ "code" => 0, "data" => null ]); } }优化主要优化 _getWallpaperType 函数,去掉不想要的分类/* 获取壁纸分类 已测试 √ */ function _getWallpaperType($self) { $self->response->setStatus(200); $json = _curl("http://cdn.apc.360.cn/index.php?c=WallPaper&a=getAllCategoriesV2&from=360chrome"); $res = json_decode($json, TRUE); //$file=dirname(__FILE__).'/debug.log'; //保留喜欢的分类 $ilike = ['6', '12', '13', '22']; $re_arr = array(); foreach ($res['data'] as $key => $value) { if (in_array($value['id'], $ilike, true)){ //file_put_contents($file, $value['name']."\n",FILE_APPEND); array_push($re_arr, $value); } } if ($res['errno'] == 0) { $self->response->throwJson([ "code" => 1, "data" => $re_arr ]); } else { $self->response->throwJson([ "code" => 0, "data" => null ]); } }效果首页美女发现是固定的,又懒得翻页。加了个随机,每次刷新都是不同的。/* 获取壁纸列表 已测试 √ */ function _getWallpaperList($self) { $self->response->setStatus(200); $cid = $self->request->cid; //前50页随机显示图片 if (($cid == 6)&&($self->request->start < 2400)) { $start = $self->request->start + rand(1,4800); }else { $start = $self->request->start; } $count = $self->request->count; //$file=dirname(__FILE__).'/debug.log'; //file_put_contents($file, $cid."|".$start."|".$count."\n",FILE_APPEND); $json = _curl("http://wallpaper.apc.360.cn/index.php?c=WallPaper&a=getAppsByCategory&cid={$cid}&start={$start}&count={$count}&from=360chrome"); $res = json_decode($json, TRUE); if ($res['errno'] == 0) { $self->response->throwJson([ "code" => 1, "data" => $res['data'], "total" => $res['total'] ]); } else { $self->response->throwJson([ "code" => 0, "data" => null ]); } }
2022年09月26日
6,935 阅读
0 评论
0 点赞
2022-09-25
Typecho 1.2.0 提示版本更新Bug解决方法
Typecho以一向高雅的动作宣布了自己的回归: “这不是玩笑,我们回来了”Typecho 1.2.0 我也按照更新的方法将我的typecho更新到了1.2.0版,但是在后台却还是看到提示升级,当前版本1.2.0,最新版本1.2.0的字样。可以确定这是typecho的一个Bug,官方也给出了修复的办法,在代码的判断中修改一处就可以解决了。if ( isset($json['release']) && preg_match("/^[0-9\.]+$/", $json['release']) && version_compare($json['release'], $version, '>=') && version_compare($json['release'], $version, '>') )在 var/Widget/Ajax.php 这个文件中,将 >= 改为 > 即可。
2022年09月25日
4,211 阅读
0 评论
0 点赞
在文章中添加地图
有些文章需要使用到地图,比如题主博客中的“有声”分类下的文章,例如 http://www.lopwon.com/1925.html可以通过以下介绍的方法,添加!一、在主题适当位置(比如footer.php末端)添加以下百度地图开放平台提供的服务代码。其中,把“我的秘钥”四个字替换为自己的百度地图API秘钥(AK),申请如下:1. 访问百度地图开放平台 https://lbsyun.baidu.com/ 注册后登陆“控制台”。2. 应用管理》我的应用》创建应用,需要实名认证!3. 除“应用类型”选择“浏览器端”外,其他可以默认。4. 完成创建后,会生成一串API秘钥(AK)。代码: <script src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=我的秘钥"></script> <script> var map = new BMapGL.Map('map'); //创建地图,map对应div中的ID,可自定义,必选 map.centerAndZoom(new BMapGL.Point(<?php $this->fields->location(); ?>), 13); //设置地图中心坐标location和缩放级别13,必选 var marker = new BMapGL.Marker(new BMapGL.Point(<?php $this->fields->location(); ?>)); //创建标记坐标location,必选 map.addOverlay(marker); //添加标记点,必选 map.enableScrollWheelZoom(true); //添加鼠标滚轮缩放控件,可选 map.addControl(new BMapGL.NavigationControl({type: BMAP_NAVIGATION_CONTROL_SMALL})); //添加放大缩小控件,可选 map.addControl(new BMapGL.MapTypeControl({mapTypes: [BMAP_NORMAL_MAP,BMAP_SATELLITE_MAP,BMAP_HYBRID_MAP]})); //添加地图类型,可选 </script>二、如果不想把以上JS在全局使用,可以使用以下代码包裹,只在需要时加载:代码: <?php if (($this->fields->location !== null) && ($this->is('post'))): //文章页post有自定义字段location的坐标值时加载以下JS ?> 这里是百度地图服务代码 <?php endif; ?>三、在编辑文章时,把以下代码添加到文中适当位置,当然也可以自定义CSS。如果不想每次都添加,可以直接放入主题post.php的适当位置(比如文末content)代码: <div id="map" style="width:720px;height:240px"></div>四、在编辑文章时,新增自定义字段location(也可以自定义字段名,注意要统一替换以上JS中所有的location)。之后,字段值填入地点坐标,可以访问拾取坐标系统 http://api.map.baidu.com/lbsapi/getpoint/index.html 获取坐标。格式为(经度,纬度),例116.403963,39.915119五、如果觉得操作麻烦,有款现成的Typecho“我的足迹”独立页模板可以选用,功能不同是把文章直接添加到地图中,详见 http://www.lopwon.com/lopwon-footprint.html1. 访问拾取坐标系统(http://api.map.baidu.com/lbsapi/getpoint/index.html)获取坐标。2. 在需要标记文章的自定义字段里新增字段,其中,字段名称必须填入 here,乱填无效!字段值填入之前获取的坐标。格式为(经度,纬度),例116.403963,39.915119
2022年09月23日
6,899 阅读
0 评论
0 点赞
2022-09-22
typecho插件 Lopwon Here 文章内地图,可显示自定义坐标的地图
版本型号:Lopwon Footprint适用程序:Typecho皮肤类型:插件主题作者:Lopwon作者博客:Lopwon.com发布页面:Lopwon.com/lopwon-here.html官方演示:Lopwon Here 我要下载:Free Download效果图: 本站备份下载:[attach]1319[/attach]模板说明插件 Lopwon Here 的作用是:让你的 Typecho 博客显示文章内地图,可指定地图坐标,可指定显示位置。可以把你要标记的地点用地图的方式呈现出来。目前发现瑕疵:Lopwon Here 可能会与其他使用相同接口的插件有冲突,表现为:重复加载文章内容。注意:此插件免费分发,请勿商用,且不对你在使用中产生的任何问题造成的不良后果,承担责任。 插件更新2022年09月06日 发布正式版 Lopwon Here使用方法A 部署文件1\. 将压缩包里的文件夹 LopwonHere 及其内部的所有文件,上传至目录 usr/plugins 中。 2\. 后台》控制台》插件,找到 Lopwon Here 并启用。 B 申请秘钥Lopwon Here 的使用,需要先申请百度地图开放平台提供的免费API秘钥(AK)。1\. 访问百度地图开放平台(https://lbsyun.baidu.com/)注册后登陆“控制台”。 2\. 应用管理》我的应用》创建应用,需要实名认证! 3\. 除“应用类型”选择“浏览器端”外,其他可以默认。 4\. 完成创建后,会生成一串API秘钥(AK)。 C 配置插件后台》控制台》插件,找到 Lopwon Here 并设置,填入之前获取的API秘钥(AK),其他选项依喜好配置。D 插入地图后台》管理》文章,打开或新建你需要呈现地图的文章,除以下提到的事项外,其余正常操作即可。1\. 此编辑页面左侧的“内容文本框”中,在合适位置插入带有半角括号的 here 即 (here) 2\. 此编辑页面下方的“自定义字段”里,请新增字段。见下(E 添加坐标)。 E 添加坐标1\. 访问拾取坐标系统(http://api.map.baidu.com/lbsapi/getpoint/index.html)获取坐标。 2\. 在需要标记文章的自定义字段里新增字段,其中,字段名称必须填入 here,乱填无效!字段值填入之前获取的坐标。格式为(经度,纬度),例116.403963,39.915119
2022年09月22日
8,361 阅读
0 评论
0 点赞
2022-09-21
Typecho 使用 fslightbox 给图片添加暗箱效果
以前我是很喜欢使用FancyBox来提供暗箱效果的,但是FancyBox是纯收费插件。fslightbox同样是收费插件,但是免费部分我们已经够用了。效果fslightbox_demo.png教程下面开始教程~引用 fslightbox[attach]1317[/attach]把下面内容添加到header.php中的</head>前面 <script src="fslightbox.min.js"></script> 修改post.php打开post.php 将 <?php $this->content(); ?> 修改成<?php $pattern = '/\<img.*?src\=\"(.*?)\"[^>]*>/i'; $replacement = '<a href="$1" data-fslightbox="gallery"><img src="$1" alt="'.$this->title.'" title="点击放大图片" /></a>'; $content = preg_replace($pattern, $replacement, $this->content); echo $content; ?>pjax/ajax 只需要在重载的时候添加一行代码 refreshFsLightbox(); 完美解决问题。最后对,就是这么简单
2022年09月21日
9,324 阅读
0 评论
0 点赞
显示 Typecho 评论 IP 定位插件
最近各大国内平台都开放了显示用户 IP 定位的功能,我也紧跟时事,造了一个获取评论 IP 定位信息的插件。用的是 ipip.net 的免费 API。使用方法很简单,修改主题相关位置,加入下面这一句<?php $comments->location(); ?>更新日志2022.10.04 ipip.net 免费 API 失效,更换为太平洋的API2022.05.01 修复第一个位置会多出 lines (409 sloc) 17.4 KB,增加禁用插件清理数据的功能下载{cloud title="" type="default" url="https://xiamp.net/attachment/CommentLocation-1-0-1-20220501-zip" password=""/}本站备份下载:[attach]1336[/attach]之前版本[attach]1315[/attach]
2022年09月21日
7,166 阅读
9 评论
1 点赞
2022-01-16
MdPhoto一款Typecho的相册主题
主题介绍MdPhoto for Typecho是由泽泽编写的 Typecho 图册主题,主题后端基于 Typecho编写,前端基于MDUI框架,以及fancybox,masonry,infinite-ajax-scroll,jr-qrcode等第3方库。主题详细介绍请访问文档:https://www.yuque.com/qqdie/mdphoto主题演示站:http://photo.zezeshe.com/免费版下载:https://qqdie.lanzouj.com/ii8Weysrd9g本站备份下载:[attach]1313[/attach]收费版:https://www.yuque.com/qqdie/mdphoto/gbs4yi
2022年01月16日
5,993 阅读
0 评论
0 点赞
Typecho 微信小程序 weTiger(开源 + API接口文件)
一、Typecho微信小程序下载地址程序是开源的,里面包含了微信小程序代码和api接口文件。Gitee: https://gitee.com/mhcyong/weTiger因为github我暂时连接不上,故先放gitee,后面再推去github。二、使用方法1、去注册一个微信小程序,个人性质的小程序也可以,因为没有交互功能,就是几个简单的展示页面而已。2、可以下载一个微信小程序开发工具,方便自己进行修改调整等等,源码上传到微信小程序管理界面也是需要这个开发工具的。3、用微信开发工具打开下载好的程序,主要修改一下几个位置:注意修改域名和秘钥。4、将文件夹下面的api.php上传到网站跟目录,上传前先修改api.php文件里的这几个内容:还有几个字段也注意修改,在content表里面,我增加了views和likes两个字段,那么你也需要增加,或者修改为你自己的;其次缩略图我用的是img,有的人用的是thumb,那么也需要修改,修改完了上传到网站根目录即可。5、在根目录下有个app.json文件,里面有个网站名称,我写的是“胖蒜”,你根据自己需要修改一下。三、感谢感谢colorui提供漂亮的界面:https://github.com/weilanwl/ColorUI感谢Typecho提供这么好用的博客系统:https://github.com/typecho/typecho感谢Towxml提供的Markdown渲染:https://github.com/sbfkcel/towxml
2022年01月15日
6,990 阅读
0 评论
2 点赞
2022-01-01
ThemeDemo-Typecho主题展示插件
功能介绍可以用来切换前台主题,采用cookies记忆。需要手动设置链接,例如:http://siteurl/ThemeDemo.html?theme=ioshttp://siteurl/ThemeDemo.html?theme=vpseehttp://siteurl/ThemeDemo.html?theme=ynote2如果想恢复默认模板,链接:http://siteurl/ThemeDemo.html?theme (删除cookie)下载地址:https://github.com/typechor/ThemeDemo[attach]1309[/attach]
2022年01月01日
3,126 阅读
0 评论
1 点赞
2021-12-30
Typecho 华为云存储插件 ObsUpload
插件介绍这是一款 Typecho 华为云文件存储插件实现将静态资源存储到华为云OBS插件信息插件名:ObsUpload For Typecho作者:猫咪当前版本:v1.1.0更新时间:2020-09-2猫咪修改更新版地址:https://github.com/maomiblog/ObsUpload原版:https://github.com/iddddg/ObsUpload 使用方法下载插件文件将插件文件命名为ObsUploadOBS标准桶策略设置为公开读配置插件相关选项访问密钥获取新增访问密钥1.登录华为云,在右上角单击“控制台”。2.在“控制台”页面,鼠标移动至右上方的用户名,在下拉列表中选择“我的凭证”。3.在“我的凭证”页面,单击“访问密钥”页签。4.单击“新增访问密钥”,输入验证码。5.单击“确定”,生成并下载访问密钥。说明:当您下载访问密钥后,可以在浏览器页面左下角打开格式为.csv的访问密钥文件,或在浏览器“下载内容”中打开。[attach]1299[/attach]本站备份下载:ObsUpload-master.zip
2021年12月30日
7,523 阅读
0 评论
0 点赞
2021-12-24
实现typecho微信时光机功能的图文教程
对typecho的微信时光机功能非常青睐,收集网上的文章后,整理一下此文,方便好友。效果看本站微语: 一、搭建typecho 时光机单页 typecho-whisperwm_embed_post ids=1145下载文章中的附件。拷贝文件夹times和文件page.whisper.php到你使用的主题目录下。{collapse}{collapse-item label="以JOE主题为例" open}上传文件夹times和文件page.whisper.php到你使用的主题目录下{/collapse-item}{collapse-item label="效果如图示"} {/collapse-item}{/collapse}新建单页,模板选择 超级时光机 。在你的主题functions.php顶部写php的位置加上如下代码:{tabs}{tabs-pane label="以JOE主题为例"}require_once 'times/Ajax.php';{/tabs-pane}{tabs-pane label="代码如图示"}{/tabs-pane}{/tabs}如果你的主题自带时光机功能,如pigeon,A-my主题,只要在主题设置里填上时光机编码就可以了。二、关注微信公众号,沉默的博客。扫码关注我自建的公众号,发送“绑定”,填入相关信息即可。{collapse}{collapse-item label="需要自己弄公众号的的可以看文章" close}wm_embed_post ids=1149{/collapse-item}{/collapse}发送绑定检测mid 可以随意乱填发送信息测试一下是否成功。关于小尾巴可以自己在美化一下。
2021年12月24日
50,116 阅读
16 评论
3 点赞
2021-06-16
Typecho 评论增加楼层显示
很多网站最经典的是什么,比如网易,他们经典的是评论,评论中最经典的呢,那就是盖楼,typecho的评论没楼层怎么办?各位小伙伴们莫急,看,他来了,他来了……Joe主题在/usr/themes/Joe/public/comment.php 上图所示位置添加如下代码: <span style="margin-left:5px;color:#617d0e;font-size:12px"> <?php if($comments->levels == 0): ?> <?php if($comments->sequence == 1): ?>沙发 <?php elseif($comments->sequence == 2): ?>板凳 <?php elseif($comments->sequence == 3): ?>地毯 <?php else: ?> 第<?php $comments->sequence(); ?>楼<?php endif; ?> <?php endif; ?> </span>
2021年06月16日
3,974 阅读
0 评论
1 点赞
2021-06-16
网站手机移动端添加下边栏导航菜单
手机端访问的时候,给网站手机移动端添加下边栏,非常简单的实现方式,下面直接上教程。 本站有两个版本,一个是图片版本,一个是icon图标版本。 图片版本 本站以前所使用的版本,主要修改两个文件: 修改footer.php 首先,在页脚文件foot.php或者footer.php文件的最下面放入以下代码:<nav class="nav-shouji"> <div class="nav-item"> <div class="img"> <a href="https://chenyu.me/category/default/"><img src="https://chenyu.me/My/photo/ysni-sj/ysni-sj1.png"></a> </div> </div> <div class="nav-item"> <div class="img"> <a href="https://chenyu.me/category/web/"><img src="https://chenyu.me/My/photo/ysni-sj/ysni-sj2.png"></a> </div> </div> <a class="nav-item"> <div class="img"> <a href="https://chenyu.me/"><img src="https://chenyu.me/My/photo/ysni-sj/ysni-sj.png"></a> </div> </a> <div class="nav-item"> <div class="img"> <a href="https://chenyu.me/photo/"><img src="https://chenyu.me/My/photo/ysni-sj/ysni-sj3.png"></a> </div> </div> <div class="nav-item"> <div class="img"> <a href="https://chenyu.me/dh/"><img src="https://chenyu.me/My/photo/ysni-sj/ysni-sj4.png"></a> </div> </div> </nav>以上代码中的菜单链接和图标可以自行更改,图标分辨率为48x48。 修改joe.min.css 然后在CSS文件 JOE 4.7.7及以下老版:CSS文件是在assets/css/joe.min.css)里最下面放入以下代码即可。 JOE 7.X.X及以上新版:joe.global.min.css或joe.normalize.min.css最下面加入。 当然,最好的操作是以上文件的同名.scss文件里编辑然后生成.min.css的文件!(这句话看不懂的可以略过!)/*手机端底部菜单*/ @media (min-width: 768px) { .nav-shouji { display: none !important; } } .nav-shouji{ display: flex; position: fixed; bottom:0; z-index:99; height: 55px; width: 100%; background: var(--background); flex-shrink: 0; font-size: 14px; } .nav-shouji .nav-item { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; color: var(--main); } .nav-item:nth-child(3) { transform: translateY(-20px); background: var(--background); border-radius: 50%; height: 75px; width: 75px; flex-shrink: 2; box-shadow: 0 -3px 4px rgba(0,0,0,.1); } .nav-shouji .nav-item .img { height: 24px; overflow: hidden; } .nav-item:nth-child(3)>.img{ height: 30px; margin-bottom: 5px; } .nav-shouji .nav-item img { width: 24px; height: 24px; overflow: hidden; }icon图标版本 本站现在所使用的版本,手机访问本站即可看见! 1.修改footer.php 首先,在页脚文件foot.php或者footer.php文件的最下面放入以下代码:<div id="mobile-footer"> <ul id="mobile-menu"> <li> <a href="https://chenyu.me/"> <span class="cyicon chenyu-yu"></span> 首页 </a></li> <li> <a href="https://chenyu.me/about/"> <span class="cyicon chenyu-106collect"></span> 关于 </a></li> <li> <a href="https://chenyu.me/whisper/"> <span class="cyicon chenyu-weiyuqiang-"></span> 微语 </a></li> <li> <a href="https://chenyu.me/navigation/"> <span class="cyicon chenyu-ganxie"></span> 排行榜 </a></li> <li> <a href="https://chenyu.me/dh/"> <span class="cyicon chenyu-daohang"></span> 导航 </a></li> </ul> </div>2.修改include.php 在/usr/themes/Joe/public/include.php的19-29行之间新增如下代码:<link rel="stylesheet" href="<?php $this->options->themeUrl('assets/css/cysjdh.css'); ?>">3.新增cysjdh.css 在/usr/themes/Joe/assets/css/路径下新增cysjdh.css文件,内容如下:@import url("//at.alicdn.com/t/font_2611504_8nq4wp1bmb3.css"); @media screen and (min-width:767px){#mobile-footer{display:none}} #mobile-footer{height:50px;background:#fafafa;position:fixed;bottom:0;left:0;border-top:0;width:100%;z-index:9999999} #mobile-menu{display:block} #mobile-menu:after{content:'';display:block;height:0;clear:both} #mobile-menu>li{width:20%;float:left;border-top:1px solid #e6e6eb;height:100%} #mobile-menu>li>a:hover{color:#000;} #mobile-menu>li>.active{color:#000;} #mobile-menu>li>a{text-align:center;color:#777;display:block;line-height:12px;height:100%} #mobile-menu>li>a>span{font-size:20px;display:block;line-height:30px}
2021年06月16日
5,024 阅读
0 评论
0 点赞
2021-06-12
『教程』Typecho的Joe主题添加评论弹幕功能
成果展示{tabs}{tabs-pane label="后台"}{/tabs-pane}{tabs-pane label="前端"}{/tabs-pane}{/tabs}一、修改header.php文件新增代码,文件路径:usr/themes/Joe-master/public/header.php(一)第一段{tabs}{tabs-pane label="放在最上面"}<!-- 弹幕 --> <?php if ($this->options->JBarragerStatus === 'on') : ?> <?php $this->widget('Widget_Comments_Recent@index', 'ignoreAuthor=true&pageSize=15')->to($comments); ?> <ul class="j-barrager-list"> <?php if ($comments->have()) : ?> <?php while ($comments->next()) : ?> <li> <span class="j-barrager-list-avatar" data-src="<?php _getAvatarByMail($comments->mail) ?>"></span> <span class="j-barrager-list-content"><?php _parseAsideReply($comments->content); ?></span> </li> <?php endwhile; ?> <?php endif; ?> </ul> <?php endif; ?>{/tabs-pane}{tabs-pane label="代码位置"}{/tabs-pane}{/tabs}(二)第二段{tabs}{tabs-pane label="放在登录旁"}<!-- 弹幕 --> <?php if ($this->options->JBarragerStatus === 'on') : ?> <div class="item"> <input id="barrager" class="barrager" type="checkbox" title="开启/关闭弹幕"> </div> <?php endif; ?>{/tabs-pane}{tabs-pane label="代码位置"}{/tabs-pane}{/tabs}(三)第三段不要耍小聪明,放到include.php里去,不会显示弹幕的{tabs}{tabs-pane label="放在最后面"}<!-- 弹幕 --> <?php if ($this->options->JBarragerStatus === 'on') : ?> <script src="<?php $this->options->themeUrl('library/barrager/joe.barrager.js'); ?>"></script> <?php endif; ?>{/tabs-pane}{tabs-pane label="代码位置"}{/tabs-pane}{/tabs}二、修改include.php文件新增如下代码;文件路径:usr/themes/Joe-master/public/include.php{tabs}{tabs-pane label=" include.php 文件"}<?php if ($this->options->JBarragerStatus === 'on') : ?> <link rel="stylesheet" href="<?php $this->options->themeUrl('library/barrager/joe.barrager.css'); ?>"> <?php endif; ?>{/tabs-pane}{tabs-pane label="代码位置"}{/tabs-pane}{/tabs}三、修改functions.php{tabs}{tabs-pane label="添加代码"}$JBarragerStatus = new Typecho_Widget_Helper_Form_Element_Select( 'JBarragerStatus', array('off' => '关闭(默认)', 'on' => '开启'), 'off', '是否开启弹幕功能(仅限PC)', '介绍:开启后,网站将会显示评论弹幕功能,该功能采用CSS动画引擎,并非传统JS操作DOM,无任何性能消耗。' ); $JBarragerStatus->setAttribute('class', 'joe_content joe_custom'); $form->addInput($JBarragerStatus->multiMode());{/tabs-pane}{tabs-pane label="代码位置"}{/tabs-pane}{/tabs}**如果创建过 custom.php 文件,直接放到 custom.php 里就行了****但是记得要在 functions.php 引入 custom.php 哦**四、修改config.php文件{tabs}{tabs-pane label="添加代码"}/* 弹幕 */ DOCUMENT_BARRAGER: '<?php echo $this->options->JBarragerStatus === 'on' ? 'on' : 'off' ?>',{/tabs-pane}{tabs-pane label="代码位置"}{/tabs-pane}{/tabs}五、上传CSS和JS将以下文件,放在usr/themes/Joe/library里就行了{cloud title="barrager" type="github" url="https://cdn.jsdelivr.net/gh/aill66/cdn@latest/usr/uploads/2021/06/3614980287.zip" password=""/}
2021年06月12日
8,964 阅读
0 评论
0 点赞
2021-06-12
【Typecho】的Joe主题新增文章阅读时长统计
{mtitle title="成品演示"/}{mtitle title="教程开始"/}{tabs}{tabs-pane label="第一步"}1.**修改 functions.php 文件,底部增加,文件路径: /usr/themes/Joe-master** // 文章阅读时长设置 $onlineTime = new Typecho_Widget_Helper_Form_Element_Select( 'onlineTime', array( 'off' => '关闭(默认)', 'on' => '开启', ), 'on', '是否启用文章阅读时长统计', '介绍:开启后,文章底部展示文章字数,预计阅读时长和已阅读时长' ); $onlineTime->setAttribute('class', 'joe_content joe_post'); //如果设置无法展示,请将joe_custom替换为joe_other $form->addInput($onlineTime->multiMode());{/tabs-pane}{tabs-pane label="第二步"}2.**修改 article.php 文件,文件路径: usr/themes/Joe-master/public**<div class="contain" style="margin-bottom: 10px; <?php if(Helper::options()->onlineTime !== 'on') echo 'display:none;' ?>"> <blockquote id="onlineTime">本文共 <?php art_count($this->cid); ?> 个字数,平均阅读时长 ≈ <?php echo art_time($this->cid); ?>分钟</blockquote> </div>{/tabs-pane}{tabs}{tabs-pane label="第三步"}3.**修改 article.php 文件,文件路径: usr/themes/Joe-master/public**<?php //文章阅读时间统计 function art_time ($cid){ $db=Typecho_Db::get (); $rs=$db->fetchRow ($db->select ('table.contents.text')->from ('table.contents')->where ('table.contents.cid=?',$cid)->order ('table.contents.cid',Typecho_Db::SORT_ASC)->limit (1)); $text = preg_replace("/[^\x{4e00}-\x{9fa5}]/u", "", $rs['text']); $text_word = mb_strlen($text,'utf-8'); echo ceil($text_word / 400); } //文章字数统计 function art_count ($cid){ $db=Typecho_Db::get (); $rs=$db->fetchRow ($db->select ('table.contents.text')->from ('table.contents')->where ('table.contents.cid=?',$cid)->order ('table.contents.cid',Typecho_Db::SORT_ASC)->limit (1)); $text = preg_replace("/[^\x{4e00}-\x{9fa5}]/u", "", $rs['text']); echo mb_strlen($text,'UTF-8'); } ?> <script language="javascript"> var second=0; var minute=0; var hour=0; window.setTimeout("interval();",1000); function interval() { second++; if(second==60) { second=0;minute+=1; } if(minute==60) { minute=0;hour+=1; } var onlineTime = "您已阅读:" + hour + "时" + minute + "分" + second + "秒。"; var joe_message_content = "本文共 " + <?php art_count($this->cid); ?> + "个字数,平均阅读时长 ≈ " + <?php echo art_time($this->cid); ?> + "分钟,"; $('#onlineTime').text(joe_message_content + onlineTime); window.setTimeout("interval();", 1000); } </script>{/tabs-pane}{/tabs}
2021年06月12日
4,229 阅读
2 评论
2 点赞
2021-06-10
Typecho的Joe主题新增QQ打开自动跳转到浏览器
前言最近QQ抽风,很多站长的网站都被屏蔽白了,我的也不例外而且很多人上午解了下午又白,所以我就想做一个跳转,跳转到浏览器访问然后看到执念有教程,就直接搬过来了,也就当做个备份吧效果图{tabs}{tabs-pane label="后台"}{/tabs-pane}{tabs-pane label="跳转"}{/tabs-pane}{/tabs}修改步骤一、修改functions.php文件新增如下代码;文件路径: usr/themes/Joe/functions.php{tabs}{tabs-pane label="php代码"}$JPrevent = new Typecho_Widget_Helper_Form_Element_Select( 'JPrevent', array('off' => '关闭(默认)', 'on' => '开启'), 'off', '请选择是否开启QQ防红拦截', '介绍:开启后,如果在QQ里打开网站,则会提示跳转浏览器打开' ); $JPrevent->setAttribute('class', 'joe_content joe_custom'); // 如果后台无法展示该设置,将joe_custom修改为joe_other(我改成了joe_post,放在文章设置分类里的) $form->addInput($JPrevent->multiMode());{/tabs-pane}{tabs}{tabs-pane label="图示"}{/tabs-pane}{/tabs}二、修改include.php文件路径如下: usr/themes/Joe/public/include.php在最顶部新增{tabs}{tabs-pane label="代码"}<?php if ($this->options->JPrevent === 'on') : ?> <?php $this->need('public/prevent.php'); ?> <?php endif; ?>{/tabs-pane}{tabs-pane label="图示"}{/tabs-pane}{/tabs}三、新增prevent.php文件下载以下文件,上传路径: usr/themes/Joe/public文件下载:{cloud title="prevent" type="github" url="https://cdn.jsdelivr.net/gh/aill66/cdn@latest/usr/uploads/2021/06/4280840757.zip" password=""/}
2021年06月10日
5,463 阅读
1 评论
0 点赞
2021-06-10
Joe主题新增海报功能——配合插件
效果见本站。0.成品图{tabs}{tabs-pane label="后台设置"}{/tabs-pane}{tabs-pane label="文章底部"}{/tabs-pane}{tabs-pane label="海报样式"}{/tabs-pane}{/tabs}{message type="warning" content="使用手册:激活插件后打开主题的开关设置即可"/}1.将插件文件放在 usr/plugins目录下,并进行激活,下载链接在文章底部2.修改handle.php文件,新增代码,文件路径:usr/themes/Joe-master/public{tabs}{tabs-pane label="代码"}第一段,底部新增 <div style="<?php if(Helper::options()->Haibao !== 'on') echo 'display:none;' ?>"> <div class="article-poster-button" style="text-align: center; margin-left:30px;"> <div class="haibao"> <svg t="1623158793415" class="icon-haibao" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2237" width="100%" height="100%"><path d="M512 0C230.4 0 0 230.4 0 512s230.4 512 512 512 512-230.4 512-512-230.4-512-512-512zM403.2 704L256 851.2c-12.8 12.8-32 12.8-44.8 0s-12.8-32 0-44.8l147.2-147.2c12.8-12.8 32-12.8 44.8 0s12.8 32 0 44.8z m460.8-44.8h-192c-12.8 19.2-76.8 102.4-115.2 153.6-19.2 25.6-51.2 25.6-70.4-12.8-25.6-70.4-64-172.8-64-172.8S307.2 576 236.8 544c-25.6-12.8-32-44.8 0-64C294.4 435.2 384 364.8 384 364.8s6.4-128 6.4-204.8c0-44.8 12.8-51.2 19.2-51.2 6.4 0 19.2 0 44.8 19.2 64 44.8 166.4 115.2 166.4 115.2s108.8-32 172.8-51.2c32-12.8 57.6 12.8 51.2 38.4l-51.2 204.8s64 89.6 102.4 153.6c19.2 38.4 6.4 70.4-32 70.4z" fill="#FF9256" p-id="2238"></path></svg> </div> <p style="margin-top:5px; color:#909399; font-size:12px">海报</p> </div> <div class="haibao-shade"> <div class="ball-spin-fade-loader_title">正在生成.....</div> <div class="ball-spin-fade-loader"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div> </div> <div data-id="<?php echo $this->cid ?>" class="article-poster action action-poster" style="display:none;"> <div class="poster-popover-mask" data-event="poster-close"> </div> <div class="poster-popover-box"> <a class="poster-download" data-event="poster-download" data-url="">下载海报</a> <img class="article-poster-images"/> </div> </div> </div> 第二段,底部新增 <style> .haibao-shade { background: grey; z-index: 20; opacity: 0.6; position: fixed; pointer-events: auto; top: 0; left: 0; width: 100%; height: 100%; display: none; transition: opacity .25s linear; } @-webkit-keyframes ball-spin-fade-loader { 50% { opacity: 0.3; -webkit-transform: scale(0.4); transform: scale(0.4); } 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } } @keyframes ball-spin-fade-loader { 50% { opacity: 0.3; -webkit-transform: scale(0.4); transform: scale(0.4); } 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } } .ball-spin-fade-loader { position: relative; left: calc(50% - 25px); top: calc(50% - 25px); } .ball-spin-fade-loader_title { position: relative; left: calc(50% - 50px); top: calc(55% - 15px); } .ball-spin-fade-loader > div:nth-child(1) { top: 25px; left: 0; -webkit-animation: ball-spin-fade-loader 1s 0s infinite linear; animation: ball-spin-fade-loader 1s 0s infinite linear; } .ball-spin-fade-loader > div:nth-child(2) { top: 17.04545px; left: 17.04545px; -webkit-animation: ball-spin-fade-loader 1s 0.12s infinite linear; animation: ball-spin-fade-loader 1s 0.12s infinite linear; } .ball-spin-fade-loader > div:nth-child(3) { top: 0; left: 25px; -webkit-animation: ball-spin-fade-loader 1s 0.24s infinite linear; animation: ball-spin-fade-loader 1s 0.24s infinite linear; } .ball-spin-fade-loader > div:nth-child(4) { top: -17.04545px; left: 17.04545px; -webkit-animation: ball-spin-fade-loader 1s 0.36s infinite linear; animation: ball-spin-fade-loader 1s 0.36s infinite linear; } .ball-spin-fade-loader > div:nth-child(5) { top: -25px; left: 0; -webkit-animation: ball-spin-fade-loader 1s 0.48s infinite linear; animation: ball-spin-fade-loader 1s 0.48s infinite linear; } .ball-spin-fade-loader > div:nth-child(6) { top: -17.04545px; left: -17.04545px; -webkit-animation: ball-spin-fade-loader 1s 0.6s infinite linear; animation: ball-spin-fade-loader 1s 0.6s infinite linear; } .ball-spin-fade-loader > div:nth-child(7) { top: 0; left: -25px; -webkit-animation: ball-spin-fade-loader 1s 0.72s infinite linear; animation: ball-spin-fade-loader 1s 0.72s infinite linear; } .ball-spin-fade-loader > div:nth-child(8) { top: 17.04545px; left: -17.04545px; -webkit-animation: ball-spin-fade-loader 1s 0.84s infinite linear; animation: ball-spin-fade-loader 1s 0.84s infinite linear; } .ball-spin-fade-loader > div { background-color: #fff; width: 15px; height: 15px; border-radius: 100%; margin: 2px; -webkit-animation-fill-mode: both; animation-fill-mode: both; position: absolute; } .haibao { width: 42px; height: 42px; background-color: #f56c6c; border-radius: 50%; cursor: pointer; position: relative; z-index: 10; display: flex; justify-content: center; align-items: center; color:#909399; font-size:12px } .haibao:hover { background-color: #409eff; } .article-poster { position:absolute;z-index:999; } </style>{/tabs-pane}{tabs-pane label="代码对应图片"}{/tabs-pane}{/tabs}2.修改functions.php文件,底部新增,文件路径:usr/themes/Joe-master{tabs}{tabs-pane label="代码"}// 海报 $Haibao = new Typecho_Widget_Helper_Form_Element_Select( 'Haibao', array('off' => '关闭(默认)', 'on' => '开启'), 'off', '是否开启底部海报功能', '介绍:开启后,文章底部展示生成海报按钮' ); $Haibao->setAttribute('class', 'joe_content joe_custom'); // 如果后台无法展示开关,则将joe_custom替换为joe_other $form->addInput($Haibao);{/tabs-pane}{tabs-pane label="代码图片"}{/tabs-pane}{/tabs}海报插件下载地址:https://github.com/MoLeft/ArticlePoster
2021年06月10日
4,690 阅读
0 评论
5 点赞
2021-06-08
Typecho的Joe主题新增cnzz统计
0.成品图{tabs}{tabs-pane label="后台设置"}{/tabs-pane}{tabs-pane label="前台展示"}{/tabs-pane}{/tabs}1.修改footer.php,新增代码,文件路径:usr/themes/Joe-master/public{tabs}{tabs-pane label="代码"}第一段,在文件最上方添加 <?php if(Helper::options()->CnzzType !== 'off') { $CnzzIdSave = Helper::options()->CnzzId; $CnzzTypeStyle = Helper::options()->CnzzType; $CnzzTypeStyle = str_replace("CnzzId", $CnzzIdSave, $CnzzTypeStyle); } ?> 第二段添加在网站运行时间前面 <div class="item" style="margin: 10px; <?php if(Helper::options()->CnzzType == 'off') echo 'display:none;' ?>"> <span id='cnzz_stat_icon_<?php Helper::options()->CnzzType ?>'></span><script src='<?php echo $CnzzTypeStyle ?>' type='text/javascript'></script> </div>{/tabs-pane}{tabs-pane label="代码位置图片"}{/tabs-pane}{/tabs}2.修改functions.php文件,新增代码,文件路径:/usr/themes/Joe-master{tabs}{tabs-pane label="代码"}$CnzzId = new Typecho_Widget_Helper_Form_Element_Text( 'CnzzId', NULL, NULL, 'cnzz站点ID', '介绍:填写此处用于展示cnzz统计,该地址进行申请 https://www.umeng.com/web' ); $CnzzId->setAttribute('class', 'joe_content joe_custom');// 如果后台无法展示设置,将joe_custom替换为joe_other $form->addInput($CnzzId->multiMode()); $CnzzType = new Typecho_Widget_Helper_Form_Element_Select( 'CnzzType', array( 'off' => '关闭(默认)', 'https://s4.cnzz.com/z_stat.php?id=CnzzId&web_id=CnzzId' => '文字形式', 'https://s4.cnzz.com/z_stat.php?id=CnzzId&show=pic' => '图片样式1', 'https://s4.cnzz.com/z_stat.php?id=CnzzId&show=pic1' => '图片样式2', 'https://s4.cnzz.com/z_stat.php?id=CnzzId&show=pic2' => '图片样式3', 'https://s4.cnzz.com/z_stat.php?id=CnzzId&online=2' => '在线人数', 'https://s4.cnzz.com/z_stat.php?id=CnzzId&online=1&show=line' => '横排数据显示', ), 'off', '选择cnzz样式', '介绍:开启时请填写cnzz站点ID' ); $CnzzType->setAttribute('class', 'joe_content joe_custom');// 如果后台无法展示设置,将joe_custom替换为joe_other $form->addInput($CnzzType->multiMode());{/tabs-pane}{tabs-pane label="代码位置图片"}{/tabs-pane}{/tabs}
2021年06月08日
7,198 阅读
2 评论
0 点赞
1
2
3
...
5