Typecho使用修改小记
原链接:http://blog.pcwuyu.com/2012/4.html
原分类:网站建设
前两天做的一些修改小记,顺便记录一下以后如果要用也好找。
Typecho是一个轻量简洁的博客程序,如果你用腻了WordPress,觉得它太臃肿的话,Typecho是一个不错的选择。WordPress有的功能它基本上也有,除基本的博客功能外,像设置链接形式、设置独立页为首页、自定义页面模板、用户注册功能这些都有。
1、设置评论者链接从新窗口中打开
打开\var\Widget\Abstract
文件夹下的Comments.php
文件,找到 373 行左右的这句,加上 blank 属性,如下
echo '<a href="' , $this->url , '"' , ($noFollow ? ' rel="external nofollow"' : NULL) , ' target="_blank">' , $this->author , '</a>';
2、description描述换行问题
Typecho现在版本有一个bug,自带description输出,如果摘要内容里有换行也会显示在头部description描述中。
解决方法打开\var\Widget\Abstract
文件夹下的 Contents.php
文件,找到 73 行左右的这句:
$plainTxt = trim(strip_tags($this->text));
在下面添加这么一句即可去掉换行
$plainTxt = preg_replace("/[\s]{2,}/","",$plainTxt).'';
3、添加文章/页面最后更新时间显示
添加下面这句到你要显示的地方
<?php echo gmdate('Y-m-d H:i:s', $this->modified + Typecho_Widget::widget('Widget_Options')->timezone); ?>
4、Typecho时间格式设置
上面更新时间的格式为Y-m-d H:i:s
,对应显示效果即是2012-05-31 20:28:21
,更多时间格式在Typecho后台有帮助说明链接。
5、Typecho相关文章调用
在要调用相关文章的地方插入以下代码即可,依据文章标签相关,如要设置显示条数修改下面的related(5)。
<?php _e('相关文章:'); ?>
<?php $this->related(5)->to($relatedPosts); ?>
<?php if ($relatedPosts->have()): ?>
<?php while ($relatedPosts->next()): ?>
<li><a href="<?php $relatedPosts->permalink(); ?>" title="<?php $relatedPosts->title(); ?>">
<?php $relatedPosts->title(); ?>
</a></li>
<?php endwhile; ?>
<?php else: ?>
<li>没有找到相关文章</li>
<?php endif; ?>
6、加入文章 上一篇、下一篇 链接
也是在相关位置插入以下代码即可
<?php $this->thePrev('上一篇 : %s', '没有上一篇'); ?>
<?php $this->theNext('下一篇 : %s', '没有下一篇'); ?>
7、隐藏HTML头部Typecho版本及主题信息
打开使用主题文件夹下的header.php
文件,找到
<?php $this->header(""); ?>
这句,改成
<?php $this->header("generator=&template="); ?>
即可。
8、Typecho地址重写功能无法启用
前提是你的主机要支持重写功能才行,不然怎样设置也没用。有时Typecho无法正常开启地址重写功能,解决方法只需打开程序安装文件夹下的.htaccess文件,手动加入以下内容即可
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
9、Typecho文章摘要设置
在需要截断文章摘要的地方插入<!--more-->
标签即可。
文章最后介绍一个Typecho Sitemap插件,Google Sitemap 生成器,目前我也只装了这个插件,下载在Typecho插件目录里有。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。