最近购买了VPS一只,苦于WordPress大内存的占用,而转投到了Typecho阵营,内存暂用小,麻雀虽小,五脏俱全,有着极强的扩展性,于是乎在网络上搜集了一些Typecho主题美化的技巧分享给大家。
Typecho主题美化技巧(共20条)
1、文章title设置,使得对搜索引擎足够友好,下面是本博的设置方法
【博客首页】—> 博客名称 – 博客描述
【归档页面】—> XXXX/XX – 博客名称
【文章页面】—> 文章标题 – 博客名称
【独立页面】—> 页面标题 – 博客名称
【分类页面】—> 分类名称 – 博客名称
【标签页面】—> 标签 – 博客名称
<title><?php if($this->is(‘index’)): ?><?php $this->options->title(); ?> – <?php $this->options->description(); ?>
<?php elseif($this->is(‘archive’)): ?><?php $this->archiveTitle(‘/’,”,’ – ‘); ?><?php $this->options->title(); ?>
<?php else: ?><?php $this->archiveTitle(”,”,’ – ‘); ?><?php $this->options->title(); ?><?php endif; ?></title>
附论坛的两种不同的设置:
【博客首页】博客名称
【独立页面】页面标题 – 博客名称
【分类页面】分类名称 – 博客名称
【标签页面】Tag: 标签 – 博客名称
【存档页面】存档: XXXX年XX月 – 博客名称
【其它(日志页)】页面标题
<title>
<?php if ($this->is(‘index’)){$this->options->title();}
elseif($this->is(‘page’)){$this->archiveTitle(”,”,’ – ‘);$this->options->title();}
elseif($this->is(‘category’)){$this->archiveTitle(”,”,’ – ‘);$this->options->title();}
elseif($this->is(‘tag’)){$this->archiveTitle(”,’Tag: ‘,’ – ‘);$this->options->title();}
elseif($this->is(‘archive’)){$this->archiveTitle(‘年’,'存档: ‘,’月 – ‘);$this->options->title();}
else{$this->archiveTitle(”,”,”);}?>
</title>
<title><?php $this->archiveTitle(”, ”, ‘ – ‘); ?><?php $this->options->title(); ?> – <?php $this->options->description(); ?></title>
2、相关文章的调用:
<?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> <small class="info"><strong><?php $relatedPosts->author(); ?></strong> post in <?php $this->date(‘Y-m-d H:i:s’); ?></small>
</li>
<?php endwhile; ?>
<?php else : ?>
<li>No Related Post</li>
<?php endif; ?>
3、输出所有Tags
<?php $this->widget(‘Widget_Metas_Tag_Cloud’)
->parse(‘<span class="tagcloud"><a href="{permalink}">{name}</span></a>’); ?>
4、分页只显示新文章、旧文章
<?php $this->pageLink(‘? 新文章’,'prev’); ?>
<?php $this->pageLink(‘旧文章 ?’,'next’); ?>
5、测边栏每月归档后面显示文章数
<?php $this->widget(‘Widget_Contents_Post_Date’, ‘type=month&format=Y年m月’)
->parse(‘<li><a href="{permalink}">{date}</a> <span id="ignore">({count})</span></li>’); ?>
6、复制文章时带版权
<script type="text/javascript">
document.body.oncopy = function () { setTimeout( function () { var text = clipboardData.getData("text"); if (text) { text = text + "\r\n本篇文章来源于<?php $this->options->title(); ?>|<?php $this->options->siteUrl(); ?>,原文链接:"+location.href; clipboardData.setData("text", text); } }, 100 ) }
</script>
7、标签云
<?php $this->widget(‘Widget_Metas_Tag_Cloud’, ‘ignoreZeroCount=1&limit=20′)->to($tags); ?>
<?php while($tags->next()): ?>
<a href=”<?php $tags->permalink(); ?>”><?php $tags->name(); ?></a>
<?php endwhile; ?>
8、最新文章
<?php $this->widget(‘Widget_Contents_Post_Recent’)->to($post); ?>
<?php while($post->next()): ?>
<a href=”<?php $post->permalink(); ?>” title=”<?php $post->title(); ?>”>
<?php $post->title(25, ‘…’); ?></a>
<?php endwhile; ?>
9、相关内容
<?php $this->related(5)->to($relatedPosts); ?>
<?php while ($relatedPosts->next()): ?>
<a href=”<?php $relatedPosts->permalink(); ?>” title=”
<?php $relatedPosts->title(); ?>”><?php $relatedPosts->title(); ?></a>
<small><strong><?php $relatedPosts->author(); ?></strong> post in
<?php $this->date(‘Y-m-d H:i:s’); ?></small>
<?php endwhile; ?>
10、日期归档
<?php $this->widget(‘Widget_Contents_Post_Date’, ‘type=month&format=F Y’)
->parse(‘<li><a href=”{permalink}”>{date}</a> ({count})</li>’); ?>
11、友情链接 要装插件
<?php PageToLinks::output(‘links’, ‘h3′, ‘ul’); ?>
12、头部
<?php $this->keywords(‘_’); ?> //关键词
<?php $this->options->title(); ?> //站点名称
<?php $this->options->description(); ?> //站点描述
<?php $this->archiveTitle(); ?> //标题
<?php $this->options->themeUrl(‘ie.css’); ?> //模板路径
<?php $this->options->siteUrl(); ?> //主页网址
<?php $this->options->feedUrl(); ?>
<?php $this->options->commentsFeedUrl(); ?>
<?php $this->pageNav(); ?> //分页
<?php $this->options->generator(); ?> //版本号
13、文章页面
<?php $this->title(); ?> //标题
<?php $this->category(‘,’); ?> //分类
<?php $this->tags(‘, ‘, true, ”); ?> //标签
<?php $this->date(‘F jS, Y’) ?> //时间
<?php $this->content(); ?> //内容
<?php $this->thePrev(‘« %s’, ”); ?> //上一篇
<?php $this->theNext(‘%s »’, ”); ?> //下一篇
14、全部文章列表代码,可以应用在任何地址:
<?php $this->widget(‘Widget_Contents_Post_Recent’, ‘pageSize=10000′)->parse(‘<li>{year}-{month}-{day} : <a href="{permalink}">{title}</a></li>’); ?>
15、全部标签集列表:
<?php $this->widget(‘Widget_Metas_Tag_Cloud’)
->to($taglist); ?><?php while($taglist->next()): ?>
<li><a href="<?php $taglist->permalink(); ?>" title="<?php $taglist->name(); ?>"><?php $taglist->name(); ?></a></li>
<?php endwhile; ?>
16、全部日志数量:
<?php $stat = Typecho_Widget::widget(‘Widget_Stat’) ;echo ".$stat->PublishedPostsNum."; ?>
应该还可以其它stat函数,研究一下回头统计。
使用这个方法,可以自定义首页的文章显示条数,以及自定义分类文章显示:
function themeInit($archive) {
if ($archive->is(‘index’)) {
$archive->parameter->pageSize = 10; // 自定义条数
}
}
或者:
function themeInit($archive) {
if ($archive->is(‘category’, ‘default’)) {
$archive->parameter->pageSize = 10; // 自定义条数
}
}
17、调用某分类文章,pageSize是数量,mid是分类号:
<?php $this->widget(‘Widget_Archive@index’, ‘pageSize=6&type=category’, ‘mid=1′)
->parse(‘<li><a href="{permalink}">{title}</a></li>’); ?>
18、侧栏评论忽略博主评论
<?php $this->widget(‘Widget_Comments_Recent’,'ignoreAuthor=true’)->to($comments); ?>
19、typecho自动显示摘要,158为自动摘要的字数的一半
<p><?php $this->excerpt(158); ?></p>
<p class="more"><a href="<?php $this->permalink() ?>" rel="bookmark" title="<?php $this->title() ?>">阅读全文</a></p>
20、评论输出:
<?php $comments->author(true); ?>//输出评论人昵称,参数true为带链接的,false为不带链接的;
//ps.其实还有一个参数,类型也是布尔,作用是是否带noFollow
<?php $comments->excerpt(26, ‘…’); ?>//输出评论摘要,第一个参数是要截取的长度,第二个是截取后的字符串;
<?php $comments->permalink(); ?>//获取当前评论链接,木有参数;
<?php $comments->title(); ?>//获取当前评论标题,同样木有参数;
<?php $comments->dateWord(); ?>//输出词义化日期,就是输出“3小时前”、“三天前”之内的;
<?php $comments->gravatar(); ?>//调用gravatar输出用户头像,有两个参数,第一个是头像尺寸,默认是32,第二个是默认输出的头像。
版权声明:
自由转载-非商用-非演绎-保持署名 | Creative Commons 3.0- 原文网址:http://www.twamix.com/blog/2011/05/personalized-typecho-theme-landscaping.html
- 付费支持:
xqiushi
厚颜求VPN
[Reply]
TwaMix Reply:
June 20th, 2011 at 11:30
@xqiushi, 我没有用VPN,点占内存,记得你不是买了VPS吗?
[Reply]
xqiushi Reply:
June 20th, 2011 at 11:33
@TwaMix, 没了,早就没了!
[Reply]
小嘉
你这个博客用的主题不错,我准备在Zblog仿下,可以吗?
[Reply]
TwaMix Reply:
June 23rd, 2011 at 22:41
@小嘉, 可以,不过希望能注明仿处!
[Reply]
指南者
Typecho我之前也有研究过,很不错哦,只是还没有出英文版的 比较失望
[Reply]
TwaMix Reply:
June 23rd, 2011 at 22:42
@指南者, 怎么你对英文版情有独钟吗?
[Reply]