神奇的is语法
typecho可以使用is语法判断很多东西,比如
$this->is('index'); //判断首页
$this->is('archive'); //判断archive
$this->is('single'); //判断为阅读页面page+post
$this->is('page'); //判断独立页面page
$this->is('post'); //判断文章页面post
$this->is('category'); //判断分类页面
$this->is('tag'); //判断标签页面
$this->is('front'); //判断文章列表页面
$this->is('attachment'); //判断附件页面
当你在typecho后台设置→阅读中设置将某个独立页面作为首页后,那么原来的首页(文章列表页)就不能用$this->is('index');
去判断了,而是使用$this->is('front');
进行判断。
分类,页面,文章还可以这样判断
$this->is('category', 'default'); //判断分类缩略名等于default
$this->is('page', 'start'); //判断独立页面缩略名等于start
$this->is('post', 1); //判断文章cid等于1
需要注意的是,后面的参数是分类、页面的缩略名
完整使用实例
<?php if ($this->is('post')) : ?>
如果是文章页面就会显示这里的文字
<?php endif; ?>
判断为当前文章列表页的第几篇文章,并单独输出内容
<?php if ($this->sequence == 1): ?>
如果是当前文章列表页的第1篇文章,就会输出该内容
<?php endif; ?>
判断登录
<?php if ($this->user->hasLogin()): ?>
此处内容登录可见
<?php endif; ?>
判断程序版本号
前台用输出版本号
<?php $this->options->Version(); ?>
就能输出typecho的版本号,而他的格式是这样的
1.1/17.11.15
1.1是他的版本,而后面的该版本的日期,所以说即使大家都是1.1,后面日期不一样的话你们的程序代码上就会有区别。
那么假设你的模板不兼容某个版本的typecho时,为何不做个温馨提示呢?
<?php
$tver = substr($this->options->->Version , 0 , 3);
if($tver>1.0){
echo '该模板可能不兼容大于1.0版本的typecho';
}
?>
也可以根据后面的日期进行判断,总之判断完就能搞各种有趣的事情。
在functions.php
用$this->options->Version
可能没有用,没用的话试试下面这个,应该可以:
Typecho_Widget::widget('Widget_Options')->Version
或者
$options = Helper::options();
$options->version();
判断当前用户是否是文章作者
<?php if($this->user->uid==$this->authorId):?>
当前用户是文章作者
<?php endif;?>
评论区