爱好者 > Typecho > 代码相关 > typecho的文章判断当前标签

typecho的文章判断当前标签

作者:佚名 来源:爱好者 时间:2016-07-05

typecho的tag的文档就这么一句

<?php $this->tags(',', true, 'none'); ?>
说明:(',', true, 'none') 第一个单引号间的逗号代表标签与标签的间隔用逗号隔开,true 是标签以超链接形式输出false则只输出文字,none 为该文章没有标签时显示的提示信息可为空。

简单用法
如果想给每个标签套上div或者span什么的就需要这要做

<div><?php $this->tags('</div><div>', true, 'none'); ?></div>
进阶用法
<?php $this->tags(',', true, 'none'); ?>其实也可以写成<?php $this->tags(); ?>,写成这样后默认依旧时逗号隔开的超链接形式的标签数组,只是这样不能自定义中间间隔了,但是这样可以做一些有趣的判断。

Typecho判断当前标签并自定义内容

<?php if( in_array('abc', $this->tags) ): ?>
文章含有abc标签就会显示这里
<?php endif; ?>
判断文章是否存在标签,如果存在输出标签,如果不存在输出该文章分类

<?php if(  count($this->tags) == 0 ): ?> //此处的count也可改为size
<?php $this->category(',', true, 'none'); ?>//文章分类
<?php else: ?>
<?php $this->tags(',', true, 'none'); ?>//文章标签
<?php endif; ?>
这个相对与我之前转载的《当typecho文章没有标签时文章标签调用分类》好处就在于,只要是typecho博客就可以用,无需加载JQ。

其实$this->tags就是一个数组,上文就是用php来对数组进行的判断,进而实现的某些功能。