分类目录归档:代码笔记

Typecho 不同分类文章标题显示不同颜色

Typecho 搭建的一个站的文章标题颜色按照分类来显示,也就是不同分类,文章标题的颜色就会不同,刚开始想用<?php if ($this->is(‘category’,’news’)): ?> ,但是想了下,这个只是判断当前页面是不是news分类下面的,并不能达到我的要求,事实也证明我用此判断然后输出样式没有成功。那怎么搞呢?typecho群里的宅给我提醒了,直接class="<?php echo 分类缩略字 ?>",试了下 <?php $this->c …

Typecho 输出所有分类下的文章列表

Typecho 输出所有分类下的文章列表的代码实现:/* 循环所有的分类 */ <?php $this->widget('Widget_Metas_Category_List')->to($categories); ?> <?php while ($categories->next()): ?> /* 循环当前分类下的文章 */ <?php $this->widget('Widget_Archive@category-' . $categories->mid, 'pageSize=7&type=category', 'mid=' . $categories->mid)->to($posts); ?> <div c …

Typecho 导航栏加上分类链接

修改主题模板的header.php文件在标签前添加代码:<!–前面的代码–> <!–Category start–> <?php $this->widget(‘Widget_Metas_Category_List’)->to($recent); ?><!–获取分类–> <?php while($recent->next()):?> <li class=”menu-item<?php if($this->is(‘category’, $recent->slug)): ?> current-menu-item<?php endif; ?>”><!–判断分类,设置不同的CSS– …

Typecho 文章表添加新字段对应处理位置

Typecho的文章表contents添加新字段后需要修改以下文件Widget\Contents\Post\Edit.php 这里的 writePost 函数里需要接收新字段参数Widget\Abstract\Contents.php 这里的update函数里构建更新结构加入新字段, select函数里添加查询新字段还有后台模板文件write-post.php也要修改这样就能自由扩展Typecho的文章表字段了。

Typecho 获取制定用户的评论列表

typecho中,可以获取最新的评论列表,那么如果我只想获取某个人的评论列表,例如作者的评论,怎么实现?今天TypechoTips给大家带来方法。解决方案typecho自带的评论组件不包含自定义作者的功能。你可以自行扩展,下面给出详细代码。在你的主题的functions.php中加入以下代码,以默认主题default为例:class Widget_Comments_RecentPlus extends Widget_Abstract_Comments { /** * 构造函数,初始化组件 * * @access public …

Typecho 非插件实现回复可见功能

因为一般首页很少有全文输出的,而且一般隐藏内容都放在文章后面,所以就不需要处理首页的输出内容了。直接处理post.php就可以了,使用下面的代码<?php $db = Typecho_Db::get(); $sql = $db->select()->from('table.comments') ->where('cid = ?',$this->cid) ->where('mail = ?', $this->remember('mail',true)) ->limit(1); $result = $db->fetchAll($sql); if($this->user->hasLogi …

Typecho 的一些好用插件列表

现在的博客都倾向于轻量化、开放性,所以功能才会更加丰富,插件可以因己所需,量身定制,使用自己最需要的资源。Typecho的插件远远没有wordpress多,但是基本能满足要求,经过近一个多月的试用,我主要使用了下面的一些插件,感觉比较好用,分享给大家。 注意,以下罗列的插件仅在Tyoecho 0.8上测试通过,现在已经有更高级的版本,我没有测试。目前,0.8版本已经够用,升级涉及到一系列的更改,太麻烦。(2015-1-17) Ma …

Typecho 在评论中使用 Markdown

Markdown是个好东西,不过Typecho默认没有打开评论中的Markdown功能。进入 Typecho 后台,然后打开【设置】中的【评论】。勾选在评论中使用Markdown语法,在允许使用的HTML标签和属性的框中填上 Markdown 对应的 HTML标签,如图所示:常用标签如下:<h2> <h3> <h4> <h5> <ol> <ul> <li> <hr> <br> <p> <blockquote> <pre> <code> <str …

Typecho 彩色标签云按数量显示不同字体大小

Typecho提供了一个标签云示例,但真心太难看啦,网络上搜索了一圈,差不多都是引用的那几行代码。让我们 DIY 一个,只需会一点儿 PHP 和 css 就能做得很漂亮,实现自动调节大小的彩色标签。TypechoTips之前有给大家分享过一篇类似实现彩色标签云的方法,见:Typecho 代码实现侧边栏添加彩色云标签,不过今天分享的这个更加完善。载入标签对象Typecho给我们留一个很好用的接口:<?php $this->widget('Widget_Metas_T …

Typecho 列表页获取完整分类信息的字段

可能是我没找到窍门。。不过在做模板的时候,发现列表页只有一个 $this->categorys(','); 可以用。和我需求相比来说,差的太多了。。只好print_r一下看看。明明有数据的。但是就是找不到有public的成员可以调用。最后没办法,找到源代码 widget_archive 类看。发现有一个方法: getPageRow() 是公开的。反回的恰恰是当前分类的所有字段值。在列表页可以测试: print_r($this->getPageRow()); 会显示:Array ( [mid] …

Typecho 内核的第三方改写扩展版本

本日志主要用于记录那些基于Typecho内核扩展的第三方版本:基于Typecho的社区版本:Typecho Forum第一个版本应该是大家非常熟悉的Typecho简书主题作者绛木子大神的基于Typecho版本的社区扩展,实现了一些用户积分功能,并且主题上是模仿V2ex社区,是一款非常棒的的Typecho扩展,不过目前绛木子大神已经停止了维护,有想尝试的可以点击下面的链接自行下载测试。该版本演示图:下载地址:1、Github下载2、本站下载基于Typech …

Typecho 添加“百度是否收录”判断的方法

在主题的functions.php文件里新增下面函数://判断内容页是否百度收录function baidu_record() { $url='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; if(checkBaidu($url)==1) {echo "百度已收录"; } else {echo "<a style=\"color:red;\" rel=\"external nofollow\" title=\"点击提交收录!\" target=\"_blank\" href=\"http://zhanzhang. …

如何在 Nginx 服务器上阻止 Typecho 的 Feed Rss 访问

这篇文章仅供记录使用,博主用的是宝塔面板的 LNMP 环境,之前为了防止被别人抓取就做了对Feed的屏蔽,这段时间发现有些访客过来问我我的博客网站有没有Rss他想订阅,博主忽然有了一种终于能给人提供价值的感觉了,不过之前因为做了屏蔽,今天就给博客把RSS解封了。当然可能并不是每个人都像我一样,想把自己的RSS暴露给用户,特别是有些不安好心的人会直接利用RSS来采集你的博客数据,如果你想屏蔽RSS的访问,可以在你的 …

Typecho 调用指定数量最新文章的方法代码

在制作两栏typecho博客主题时,如果想在网站的侧边栏调用一定数量的博客最新文章列表怎么办?方法很简单,使用Widget_Contents_Post_Recent这个widget即可调用,通过pageSize参数即可限制调用数量。代码一<?php $this->widget('Widget_Contents_Post_Recent','pageSize=10')->parse('<li><a href="{permalink}"><span>{year}/{month}/{day}</span>{title}</a></li&g …

Typecho 评论列表自定义导致回复报错 Cannot read property 'parentNode' of null

最近在新写的主题 acgzone 中自定义了评论列表,这中间遇到一个问题就是评论回复时,评论表单位置无法插入到当前要评论的回复下,这样的用户体验有点不好,查看了网页输出,Chrome 浏览器中一直报错 Cannot read property 'parentNode' of null ,在网上找了一圈,没有找到答案,于是自己就去研究,最初以为 jquery 库没有引用,但是尝试引用 jquery 库后仍然报错。按报错理解,应该是找不到父节点,可是这个父节点是哪个 …

Typecho 获取网站标签总数目

/** * 获取标签数目 * * 语法: <?php echo tagsNum(); ?> * * @access protected * @return integer */ function tagsNum($display = true) { $db = Typecho_Db::get(); $total_tags = $db->fetchObject($db->select(array('COUNT(mid)' => 'num')) ->from('table.metas') ->where('table.metas.type = ?', 'tag'))->num; if($display) { echo $total_tags; } else { return $total_tags; } }

Typecho 自定义分页函数重写

function pagination($query_string){ global $posts_per_page, $paged; $my_query = new WP_Query($query_string ."&posts_per_page=-1"); $total_posts = $my_query->post_count; if(empty($paged))$paged = 1; $prev = $paged - 1; $next = $paged + 1; $range = 5; //分页数设置 $showitems = ($range * 2)+1; $pages = ceil($total_posts/$posts_per_page); if(1 != $pages){ echo "<ul cl …

Typecho 网站主题 fonts.useso 加载慢解决办法

TypechoTips 最近在测试主题时发现很多主题都引用了 fonts.useso.com 这个字体库,这是因为之前 WordPress 博客因为 google 字体库访问不了替换成了这个360的 useso ,然而现在很多主题开发者主题是从 Wordpress 移植,所以字库也是用了已经替换了的 fonts.useso.com 的源,因为这是360提供的公共库,因为谷歌大陆的公共库恢复了,360停止服务了,所以导致很多原来已经替换成360的公共库的主题加载变的异常缓慢,解决办法 …

Typecho 留言点赞插件 TeStat

TeStat原插件作者:绛木子地址:https://github.com/jiangmuzi/TeStat增强后作者:绛木子 & LiCx地址:https://github.com/licxisky/TeStat增强功能获取当前浏览器是否已对当前文章点赞完善获取以及实时添加页面浏览数的功能2018-3-4获取当前浏览器是否已对当前文章点赞增加自定义JS以及CSS输入,(默认兼容Material风格的主题)2018-3-5取消自定义JS以及CSS输入改版当前浏览器是否已对当前文章点赞请在主题代码中使用 (p …

Typecho 调用作者信息并显示头像

今天在博客里放了一个关于作者部分,需要调用typecho中的作者信息和作者的头像。找了一下,使用如下的代码实现:<div class="author"> <div style="float:left;margin-right:10px;"> <?php $this->author->gravatar(60); ?> </div> <p>本文作者:<a href="<?php $this->author->permalink(); ?>" target="_blank"><?p …

Typecho 自定义上一篇/下一篇的显示样式

有Typecho中,默认的上一篇和下一篇函数有个缺陷,就是在没有文章的时候会显示一个没有了。这是我无法接受的。改进方法:/** * 显示下一篇 * * @access public * @param string $default 如果没有下一篇, 显示的默认文字 * @return void */ function theNext($widget, $word = '下一篇', $default = NULL) { $db = Typecho_Db::get(); $sql = $db->select()->from('table.contents') ->where('table.contents.cr …

Typecho 不用插件的方法制作读者墙

<ul class="toggle webshot"> <?php $period = time() - 2592000; // 時段: 30 天, 單位: 秒 $counts = Typecho_Db::get()->fetchAll(Typecho_Db::get() ->select('COUNT(author) AS cnt','author', 'url', 'mail') ->from('table.comments') ->where('created > ?', $period ) ->where('status = ?', 'approved') ->where('type = ?', 'comment') ->where('authorId = ?', ' …

Typecho 自定义分页样式简析

Typecho 的这种分页样式设置最初我也是很迷茫的,所以我做的大部分模板都是只是用上一页和下一页,然而昨天翻出来看一下发现其实挺简单的,以前自己没有理解好。其实这类文章在吕滔博客《Typecho 自定义分页样式》有讲,但是没有很细致的说明,甚至给出的代码本身有些小错误,所以我在这里细说下这个。先上代码,然后对应的分析下<?php $this->pageNav('«', '»', 1, '...', array('wrapTag' => 'ol', 'wrapClass …