首页
留言反馈
网站导航
推荐
毒鸡汤
Search
1
非插件为typecho 文章生成微海报分享
18,938 阅读
2
主题移动端,样式下添加二级分类
15,461 阅读
3
主题 添加author page
14,770 阅读
4
主题添加移动端下边栏
12,779 阅读
5
EMlog添加评论者邮箱等级
9,122 阅读
typecho
dynamic
SuiYu
Emlog
xiuno
登录
/
注册
Search
标签搜索
代码
xiuno
php
css
typecho
评论
模板
say
js
修改教程
标签
珍惜
努力
recommend
善良
样式
调用
微笑
颜色
插件
Vincent
累计撰写
151
篇文章
累计收到
184
条评论
首页
栏目
typecho
dynamic
SuiYu
Emlog
xiuno
页面
留言反馈
网站导航
推荐
毒鸡汤
搜索到
51
篇与
的结果
2020-10-08
给Typecho编辑文章页添加标签tags选择表
typecho的文章编辑页面常用的标签tags选择界面没有系统现有标签tags选择列表,应用中很是麻烦,需要记忆或者切换到标签管理界面查看。所以就研究一下怎么实现可选择的标签tags列表。貌似willin有了相关代码实现:看看效果:下面来看看这么实现Typecho撰写文章或文章编辑时的已有标签tags选择列表: 打开typecho/admin目录,找到write-post.php文件(这个文件就是typecho文章编辑页面),打开并进行编辑,在其中找到代码<?php $post->tags(',', false); ?>在该代码下插入以下代码:<p style="background:#E8EFD1;display:block;margin:6px 0;padding:6px 10px"> <?php $stack = Typecho_Widget::widget('Widget_Metas_Tag_Cloud')->stack; $i = 0; while (isset($stack[$i])) { echo "<a style=\"cursor:pointer\" onclick=\"t=document.getElementById('tags').value;c=t?',':''; document.getElementById('tags').value=t+c+'", $stack[$i]['name'], "'\">", $stack[$i]['name'], "</a>"; $i++; if (isset($stack[$i])) echo ", "; } ?> </p>插入后保存即可使用。
2020年10月08日
2,437 阅读
2 评论
3 点赞
2020-10-06
Typecho调用单独页面评论代码
<?php //start page comments $slug = "message"; //页面缩略名 $limit = 10; //调用数量 $length = 30; //截取长度 $ispage = true; //true 输出slug页面评论,false输出其它所有评论 $isGuestbook = $ispage ? " = " : " <> "; $db = $this->db;//Typecho_Db::get(); $options = $this->options;//Typecho_Widget::widget('Widget_Options'); $page = $db->fetchRow($db->select()->from('table.contents') ->where('table.contents.status = ?', 'publish') ->where('table.contents.created < ?', $options->gmtTime) ->where('table.contents.slug = ?', $slug)); if( $page ){ $type = $page['type']; $routeExists = (NULL != Typecho_Router::get($type)); $page['pathinfo'] = $routeExists ? Typecho_Router::url($type, $page) : '#'; $page['permalink'] = Typecho_Common::url($page['pathinfo'], $options->index); $comments = $db->fetchAll($db->select()->from('table.comments') ->where('table.comments.status = ?', 'approved') ->where('table.comments.created < ?', $options->gmtTime) ->where('table.comments.type = ?', 'comment') ->where('table.comments.cid '.$isGuestbook.' ?', $page['cid']) ->order('table.comments.created', Typecho_Db::SORT_DESC) ->limit($limit) ); foreach($comments AS $comment) { echo '<li>'; echo '<a href="'. $page['permalink']."#comment-".$comment['coid'] .'" title="'.$comment['text'].'">'; echo Typecho_Common::subStr(strip_tags($comment['text']), 0, $length, '...').'</a>'; echo '</li>'; } }else{ echo "<li>No Comments</li>"; } //end page comments ?>可以将以上代码保存为 commlist.php 文件,放在 /usr/themes/ 目录下,在需要调用的主题模板中,输入以下代码<ul> <!--?php include_once "../commlist.php"; ?--> </ul>转载于:MR.ASONG
2020年10月06日
1,242 阅读
0 评论
2 点赞
2020-09-29
Typecho基于评论数的评论等级
今天发现了一个 Typecho 的评论等级,感觉很有意思就特地的分享出来了。代码[hide]function dengji($i){ $db=Typecho_Db::get(); $mail=$db->fetchAll($db->select(array('COUNT(cid)'=>'rbq'))->from('table.comments')->where('mail = ?', $i)->where('authorId = ?','0')); foreach ($mail as $sl){ $rbq=$sl['rbq'];} if($rbq<1){ echo 'Boss'; }elseif ($rbq<5 && $rbq>0) { echo '朋友'; }elseif ($rbq<10 && $rbq>=5) { echo '游客'; }elseif ($rbq<15 && $rbq>=10) { echo '游客1'; }elseif ($rbq<20 && $rbq>=15) { echo '游客2'; }elseif ($rbq<25 && $rbq>=20) { echo '游客3'; }elseif ($rbq>=25) { echo '游客4'; } }[/hide]使用方法将以上代码加到functions.php里,然后在comments.php里找到如下位置(可能有的主题不一样):<span class=" <?php echo $commentAuthor; ?> "><?php $comments->author(false); ?>:</span> <?php dengji($comments->mail);?> 在评论列表循环里加上这个引用,也就是这样:<span class=" <?php echo $commentAuthor; ?> ">【<?php dengji($comments->mail);?>】<?php $comments->author(false); ?>:</span>报错如果博主称号显示不是Boss而是游客,那么请在Mysql里执行如下:update typecho_comments set authorid='1' where mail='博主邮箱账号'
2020年09月29日
5,275 阅读
13 评论
8 点赞
2020-09-28
Typecho评论生成随机用户头像
添加代码将下面代码添加到当前主题functions.php中:[hide]/** * 添加随机用户头像 */ function local_random_avatar($user) { $options = Typecho_Widget::widget('Widget_Options'); if($user == 'admin'){ $thumb= $options->themeUrl .'/img/avatar-default.png'; }else{ $thumb= $options->themeUrl .'/img/avatar/' . rand(1, 10) . '.png'; } $avatar = "<img alt='{$user}的头像' src='{$thumb}' class='avatar avatar-50 photo' />"; echo $avatar; }[/hide]使用方法在要调用头像的地方插入:<?php local_random_avatar($comments->author)?>bz的图像不一样显示转载自:拾光分享网
2020年09月28日
2,161 阅读
1 评论
3 点赞
2020-09-28
实现每评论一次自动排第一功能(Typecho版)
下面是主要代码(插入到 functions.php 中):function Autofirst(){ $db = Typecho_Db::get(); $query = $db->select()->from('table.comments')->where('authorId = ?','0')->order('coid',Typecho_Db::SORT_DESC)->limit(100); $result = $db->fetchAll($query); $arrUrl = array(); $arrAuthor = array(); foreach ($result as $value) { if($value["url"]!==null){ array_push($arrUrl,$value["url"]); array_push($arrAuthor,$value["author"]); } } $su=array_filter(array_merge(array_unique($arrUrl))); $sa=array_filter(array_merge(array_unique($arrAuthor))); $num=0; for($i=0;$i<count(array_unique($su));$i++){ if($su[$i]!=="" && $num<16){ $num+=1; $db1 = Typecho_Db::get(); $query1 = $db1->select()->from('table.comments')->where('url = ?',$su[$i])->order('coid',Typecho_Db::SORT_DESC)->limit(100); $result1 = $db1->fetchAll($query1); $arrAuthor1 = array(); foreach ($result1 as $value) { array_push($arrAuthor1,$value["author"]); } echo '<a href="'.$su[$i].'" rel="external nofollow" class="item col-lg-3 col-md-3 visible-lg visible-md" target="_blank"><i class="glyphicon glyphicon-leaf"></i> '.$arrAuthor1[0].'</a>'; } } }调用代码和 css:[hide]<div class="row autofirst visible-lg visible-md"> <p> <i class="glyphicon glyphicon-th"></i> 每评论一次就会自动排在本栏目第一位 </p> <?php Autofirst(100) ?> </div> <style> .autofirst{ margin:20px 20px 5px 20px; padding:10px; box-shadow: 0 1px 8px rgba(0,0,0,0.12), 0 1px 8px rgba(0,0,0,0.24); background-color:white; border-radius:3px; }.item{ padding:5px 0px; } </style>[/hide]
2020年09月28日
4,522 阅读
0 评论
2 点赞
2020-09-28
typecho评论显示个性化自定义
typecho的官方博客有一篇文章专门讲诉typecho的评论自定义显示的,官方的不够直观,方法如下:在 comments.php 开头部份加入如下方法即可实现自定义。(解说可以查看注释)<?php function threadedComments($comments, $singleCommentOptions) { $commentClass = ''; if ($comments->authorId) { if ($comments->authorId == $comments->ownerId) { $commentClass .= ' comment-by-author'; } else { $commentClass .= ' comment-by-user'; } } $commentLevelClass = $comments->_levels > 0 ? ' comment-child' : ' comment-parent'; ?> <li id="<?php $comments->theId(); ?>" class="comment-body<?php if ($comments->_levels > 0) { echo ' comment-child'; $comments->levelsAlt(' comment-level-odd', ' comment-level-even'); } else { echo ' comment-parent'; } $comments->alt(' comment-odd', ' comment-even'); echo $commentClass; //以上部份 不用理会,是判断一些奇偶数评论和作者类的,下面的才是需要修改的,根据需要修改吧, php部份不需要 修改,只需要修改 HTML 部分,下面是我现在用的 ?>"> <div class="comment-author"> <?php $comments->gravatar($singleCommentOptions->avatarSize, $singleCommentOptions->defaultAvatar); //头像 只输出 img 没有其它标签 ?> <div class="comment-info"> <cite class="fn"><?php $singleCommentOptions->beforeAuthor(); $comments->author();$singleCommentOptions->afterAuthor(); //输出评论者 ?> </cite> <em class="comment-meta"> <a href="<?php $comments->permalink(); ?>"><?php $singleCommentOptions->beforeDate(); $comments->date($singleCommentOptions->dateFormat); $singleCommentOptions->afterDate(); //输出评论日期 ?></a> </em> </div> <div class="comment-reply"> <?php $comments->reply($singleCommentOptions->replyWord); //输出 回复 链接?> </div> </div> <?php $comments->content(); //输出评论内容,包含 <p></p> 标签 ?> <?php if ($comments->children) { ?> <div class="comment-children"> <?php $comments->threadedComments($singleCommentOptions); //评论嵌套?> </div> <?php } ?> </li> <?php } ?>下面是对应的CSS代码:{cat_hide}.comment-list{margin:0;list-style:none; padding: 5px 0} ol.comment-list li{ margin: 10px 0;padding: 10px 10px 5px;border:1px solid #e3e3e3;background-color:#FAFAFA;-moz-border-radius:5px; -webkit-border-radius:5px;} ol.comment-list li.comment-odd{background-color: #F4F9FF; border-color: #D0DDF6; } ol.comment-list li.comment-even{background-color:#fff; border-color: #E3E3E3;} ol.comment-list li.comment-by-author{border-color: #b8cdf6;} ol.comment-list li.comment-by-user {} ol.comment-list li .comment-reply{float: right; margin-top: -3px;} ol.comment-list li .comment-reply a{font-size:12px;border:none;color:#aaa;} ol.comment-list li .comment-reply a:hover{color:#444;} .comment-body{overflow:hidden;} .comment-body p{ margin: 5px 0} .comment-author{border-bottom: 1px solid #ECECEC;height: 36px;padding-bottom: 5px;width: 100%;} ol.comment-list li.comment-odd .comment-author { border-bottom-color:#D0DDF6} .avatar{float:left;border:1px solid #E3E3E3; padding: 2px; background-color: #fff;} .comment-info {color: #888;float: left;line-height: 16px;padding-left: 5px;} .comment-info .fn{font-style:normal; display: block; margin-top: 4px} .comment-info .comment-meta{color:#999;font-size:10px;}{/cat_hide}
2020年09月28日
3,208 阅读
3 评论
5 点赞
2020-09-16
Typecho 标签云如何随机展示固定个数的标签
官方文档<?php $this->widget('Widget_Metas_Tag_Cloud', 'sort=mid&ignoreZeroCount=1&desc=0&limit=30')->to($tags); ?> <?php if($tags->have()): ?> <ul class="tags-list"> <?php while ($tags->next()): ?> <li><a href="<?php $tags->permalink(); ?>" rel="tag" class="size-<?php $tags->split(5, 10, 20, 30); ?>" title="<?php $tags->count(); ?> 个话题"><?php $tags->name(); ?></a></li> <?php endwhile; ?> <?php else: ?> <li><?php _e('没有任何标签'); ?></li> <?php endif; ?>参数说明sort:排序方式为 mid;ignoreZeroCount:忽略文章数为 0 的;desc:是否降序输出;limit:输出数目。在这里我们可以看到,官方给出的方法,只能固定排序方式和输出个数。而往往标签多了之后,我们使用该方法输出的标签云总是显示这些标签,这时我们想要每次展示的标签都不相同怎么办呢?方法其实很简单,既不用改typecho源码,也不用安装该类插件,只需要把排序方式的值改为rand()即可。$this->widget('Widget_Metas_Tag_Cloud', 'sort=rand()&ignoreZeroCount=1&desc=0&limit=30')->to($tags);
2020年09月16日
1,566 阅读
0 评论
1 点赞
2020-09-16
Typecho 侧边栏不显示zz本人评论内容
Typecho侧边栏不显示zz评论,sidebar.php文件<?php $this->widget('Widget_Comments_Recent','pageSize=6&ignoreAuthor=true')->to($comments); ?>size=6<显示多少条》这个代码使用以下也是可以的。省的zz自己经常回复别人的问题,上面都是自己。
2020年09月16日
1,485 阅读
0 评论
2 点赞
2020-08-13
常用的css命名规则
头:header内容:content/container尾:footer导航:nav侧栏:sidebar栏目:column页面外围控制整体布局宽度:wrapper左右中:left right center登录条:loginbar标志:logo广告:banner页面主体:main热点:hot新闻:news下载:download子导航:subnav菜单:menu子菜单:submenu搜索:search友情链接:friendlink页脚:footer版权:copyright滚动:scroll内容:content标签页:tab文章列表:list提示信息:msg小技巧:tips栏目标题:title加入:joinus指南:guide服务:service注册:register状态:status投票:vote合作伙伴:partner注释的写法:/ Footer /内容区/ End Footer /id的命名:(1)页面结构容器: container页头:header内容:content/container页面主体:main页尾:footer导航:nav侧栏:sidebar栏目:column页面外围控制整体布局宽度:wrapper左右中:left right center(2)导航导航:nav主导航:mainnav子导航:subnav顶导航:topnav边导航:sidebar左导航:leftsidebar右导航:rightsidebar菜单:menu子菜单:submenu标题: title摘要: summary(3)功能标志:logo广告:banner登陆:login登录条:loginbar注册:regsiter搜索:search功能区:shop标题:title加入:joinus状态:status按钮:btn滚动:scroll标签页:tab文章列表:list提示信息:msg当前的: current小技巧:tips图标: icon注释:note指南:guide服务:service热点:hot新闻:news下载:download投票:vote合作伙伴:partner友情链接:link版权:copyrightclass的命名:(1)颜色:使用颜色的名称或者16进制代码,如.red { color: red; }.f60 { color: #f60; }.ff8600 { color: #ff8600; }(2)字体大小,直接使用”font+字体大小”作为名称,如.font12px { font-size: 12px; }.font9pt {font-size: 9pt; }(3)对齐样式,使用对齐目标的英文名称,如.left { float:left; }.bottom { float:bottom; }(4)标题栏样式,使用”类别+功能”的方式命名,如.barnews { }.barproduct { }注意事项::一律小写;尽量用英文;不加中杠和下划线;尽量不缩写,除非一看就明白的单词.主要的 master.css模块 module.css基本共用 base.css布局,版面 layout.css主题 themes.css专栏 columns.css文字 font.css表单 forms.css补丁 mend.css打印 print.css
2020年08月13日
1,684 阅读
0 评论
2 点赞
1
...
3
4
5
6