首页 » 建站手册 » Typecho模板文档大全之is判断语法

Typecho模板文档大全之is判断语法

谷歌已收录,更新于2019年06月29日; 如遇到问题,请留言及时通知站长; 欢迎加入 三生三世,讨论各种问题!

说明

本教程属于系列教程,用于讲解Typecho主题编写的相关教程。本篇教程用于讲解typechois判断语法。全部文档教程来源于泽泽,官网是https://qqdie.com/。目前,我还没写过主题。不过魔改了大概四份主题,所以对这些也算懂一点吧。

typecho预览

神奇的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();

后续说明

本文来源:https://qqdie.com/,取自QQ群。

一个只会魔改主题,而不会制作主题的站长,专业扒各种网站的各种样式。希望每一位来到这里的访客,都能拿到你们需要的资源!

发表评论

已有 3 条评论

  1. 123 123说道:

    这就是所谓的大全? 抄就抄

  2. BigCoke BigCoke说道:

    第一次听说single,那写主题的时候能不能创建一个single.php,同时作为文章和页面的显示方式 :roll:

    1. 枂下 枂下说道:

      应该可以,毕竟有判断。 :shock:

最近动态查看

    利用短代码实现了文章正文任意位置插入[googleads],前端自动变为谷歌广告。这样,文章过长时,可以随意插入广告了。
返回主页看更多
赏杯咖啡给站长 支付宝 扫一扫