首页
微语
统计
友链
留言
memos
圈子
图床
推荐
相册
网站监控
VPS监控
Search
1
实现typecho微信时光机功能的图文教程
45,257 阅读
2
为Typecho添加webp解析
43,193 阅读
3
emlog数据成功迁移到typecho
26,745 阅读
4
Memos备忘录,记录瞬间想法
25,731 阅读
5
Jasmine - 简约、美观的博客主题
24,413 阅读
手机达人
免费资源
电脑网络
娱乐休闲
网站建设
威言威语
Typecho
Emlog
WordPress
服务器
主题
插件
排行榜    
登录
/
注册
Search
标签搜索
wordpress
发布
插件
免费
教程
typecho
EMlog
PHP
代码
CSS
华为
图片
代码修改
安装
评论
手机
诺基亚
微信
文章
智能
Chen'mo
累计撰写
1,266
篇文章
累计收到
374
条评论
首页
栏目
手机达人
免费资源
电脑网络
娱乐休闲
网站建设
威言威语
Typecho
Emlog
WordPress
服务器
主题
插件
页面
微语
统计
友链
留言
memos
推荐
相册
网站监控
VPS监控
搜索到
1
篇与
的结果
2021-03-03
typecho 超完美上一篇下一篇文章加文章缩略图
最近被这一功能吸引了,之前的文章是泽泽社长写的,这是木灵鱼儿写的,还有小灯泡写的。先收藏,以后在学原理。[post]1127[/post]fundtions.php里添加获取文章上一篇,下一篇cid/** * 显示上一篇 * * 如果没有下一篇,返回null */ function thePrevCid($widget, $default = NULL) { $db = Typecho_Db::get(); $sql = $db->select()->from('table.contents') ->where('table.contents.created < ?', $widget->created) ->where('table.contents.status = ?', 'publish') ->where('table.contents.type = ?', $widget->type) ->where('table.contents.password IS NULL') ->order('table.contents.created', Typecho_Db::SORT_DESC) ->limit(1); $content = $db->fetchRow($sql); if ($content) { return $content["cid"]; } else { return $default; } }; /** * 获取下一篇文章mid * * 如果没有下一篇,返回null */ function theNextCid($widget, $default = NULL) { $db = Typecho_Db::get(); $sql = $db->select()->from('table.contents') ->where('table.contents.created > ?', $widget->created) ->where('table.contents.status = ?', 'publish') ->where('table.contents.type = ?', $widget->type) ->where('table.contents.password IS NULL') ->order('table.contents.created', Typecho_Db::SORT_ASC) ->limit(1); $content = $db->fetchRow($sql); if ($content) { return $content["cid"]; } else { return $default; } }; //获取文章缩略图,没有则随机 function get_ArticleThumbnail($widget){ // 当文章无图片时的随机缩略图 $rand = mt_rand(1, 45); // 随机 1-9 张缩略图 // 缩略图加速 $rand_url; if(!empty(Helper::options()->articleImgSpeed)){ $rand_url = Helper::options()->articleImgSpeed; }else { $rand_url = $widget->widget('Widget_Options')->themeUrl . '/images/articles/'; } $random = $rand_url . $rand . '.jpg'; // 随机缩略图路径 $attach = $widget->attachments(1)->attachment; $pattern = '/\<img.*?src\=\"(.*?)\"[^>]*>/i'; //如果有自定义缩略图 if($widget->fields->thumb) { return $widget->fields->thumb; }else if (preg_match_all($pattern, $widget->content, $thumbUrl) && strlen($thumbUrl[1][0]) > 7) { return $thumbUrl[1][0]; } else if ($attach->isImage) { return $attach->url; } else { return $random; } };插入上下文章位置,一般位于post.php里。<?php //获取到id ?> <?php $prevId = thePrevCid($this);$nextId=theNextCid($this);?> <!-- 上一篇 --> <?php if(!empty($prevId)) : ?> <?php $this->widget('Widget_Archive@recommend'.$prevId, 'pageSize=1&type=post', 'cid='.$prevId)->to($prev);?> <a href="<?php $prev->permalink();?>"> <img src="<?php echo get_ArticleThumbnail($prev);?>" alt="<?php $prev->title();?>"> <h2 class="card-title"><?php $prev->title();?></h2> </a> <?php endif; ?> <!-- 下一篇 --> <?php if(!empty($nextId)) : ?> <?php $this->widget('Widget_Archive@recommend'.$nextId, 'pageSize=1&type=post', 'cid='.$nextId)->to($next);?> <a href="<?php $next->permalink();?>"> <img src="<?php echo get_ArticleThumbnail($next);?>" alt="<?php $next->title();?>"> <h2 class="card-title"><?php $next->title();?></h2> </a> <?php endif; ?>PHP其中$prev和$next的使用和$this是一样的,他能做到的,$prev和$next也可以做到,所以拓展性大大延伸。这里我只是提供了php,html代码自己去构建结构,前端代码不多说。
2021年03月03日
2,889 阅读
0 评论
1 点赞