Typecho文章零丁输出标签缩略名和标署名
当前文章缩略图插件逻辑是如许的:假如文章含有图片附件(可能有多张图片),则直接取附件中的第一张图片作为文章缩略图;不然依据文章的分类缩略名取缩略图;假如上述两种状况的缩略图均不存在,则从插件中已存在的图片中随机一张图片作为当前文章的缩略图。</p><p>我一向盘算把文章缩略图插件逻辑更改成:假如文章含有图片附件(可能有多张图片),则直接取附件中的第一张图片作为文章缩略图;不然依据文章标签中第一个标签的缩略名取缩略图;假如上述两种状况的缩略图均不存在,则依据文章的分类缩略名取缩略图,假如上述三种状况的缩略图均不存在,末了从插件中已存在的图片中随机一张图片作为当前文章的缩略图。</p><p>以上是我要取文章输出标签缩略名和标署名的缘由,下面我解说一下要领,先看以下代码:
function tags($widget, $split = ',', $default = NULL){ /* 掏出tags / if ($widget->tags) { $result = array(); foreach ($widget->tags as $tag) { $result[] = $tag['permalink']; } echo implode($split, $result); } else { echo $default; }}以上是网上一篇零丁输出tag链接地点的文章,这个跟Tag相干,然后在模版中挪用要领
<?php tags($this); ?>即可完成Tag链接地点输出。
根据以上的要领,因Tag有标署名(name)和标签缩略名(slug)字段,那末零丁输出文章标签缩略名要领为:
function tags($widget, $split = ',', $default = NULL){ /* 掏出tags / if ($widget->tags) { $result = array(); foreach ($widget->tags as $tag) { $result[] = $tag['slug']; } echo implode($split, $result); } else { echo $default; }}然后在模板中挪用要领
<?php tags($this); ?>即可,假如你只想取文章标签中的第一个标签,则将要领改成:
function tags($widget, $default = NULL){ /* 掏出tags / if ($widget->tags) { foreach ($widget->tags as $tag) { echo $tag['slug']; break; } } else { echo $default; }}若须要零丁输出标署名,则将以上标签缩略名要领中的“slug”改成“name”即可。
by 彭智勇原创

评论列表