typecho的 php if 语法判断

请注意,本文编写于 155 天前,最后修改于 99 天前,其中某些信息可能已经过时。

之前用wordpress的时候,经常会用到的一个 php if(判断)。这是干嘛的?说白了就是假如我想要这个东西在首页显示就在首页显示,其他页面不显示,这个就是他的作用。下午有个博友说要加个友情链接,处于私心,我只想把链接放到首页,而其他页面不在侧边栏显示友情链接。于是我用了原来wordpress上的代码,事实证明我是想当然|(结果肯定不行)。

百度无果,只能翻阅typecho文档。整理下给你们

其实typecho可以使用is语法判断很多东西,比如:

$this->is('index');
$this->is('archive');
$this->is('single');
$this->is('page');
$this->is('post');
$this->is('category');
$this->is('tag');
$this->is('category', 'default');
$this->is('page', 'start');
$this->is('post', 1);

看不懂?那我也没办法了!只能放一段简单的代码你们自己参考了,我也不知道怎么细节的去解释。

<?php if($this->is('index')): ?>
//首页输出内容
<?php else: ?>
//不是首页输出内容,留空即可。
<?php endif; ?>

我不是大佬,也在摸索中。我自己添加这个判断时也遇到了问题,就是在开启全站pjax的时候,边栏的这个判断不刷新他不会有变(首页显示,点到其他页面也显示。你刷新了其他页面没有,回到首页也还是没有)。

添加新评论

已有 4 条评论

emorsl emorsl 回复 @红嘴鸭

多看官方文档,会有你想要的东西。

全站pjax光靠这些判断还不行,我折腾pjax折腾的头大,费时间整成功了,不过倒是其他有的插件失效。很无奈,只好去掉pjax。从网页优化做起,只要打开速度够快,我觉得就够了。pjax还是得靠专业人士去整。超级麻烦。兼容完美很难。

emorsl emorsl 回复 @枫叶

这玩意真是捣腾不来,还跟很多插件不兼容!