前两天做的一些修改小记,顺便记录一下以后如果要用也好找。

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文章摘要设置

在需要截断文章摘要的地方插入标签即可。

文章最后介绍一个Typecho Sitemap插件,Google Sitemap 生成器,目前我也只装了这个插件,下载在Typecho插件目录里有。


转载请注明出处(http://blog.pcwuyu.com/2012/4.html)