- A+
所属分类:Typecho插件
Typecho后台写文章时默认没有标签候选项,这样不利于标签管理:如果已经有了标签abcd,可能还会添加abcds,如果有标签列表,直接点击添加就会很方便,也便于旧标签的管理。
插件tagshelper
代码实现
在Typecho目录admin
下找到write-post.php
文件并进行编辑,在其中找到代码(大概在94行左右)。
<p><input id="tags" name="tags" type="text" value="<?php $post->tags(',', false); ?>" class="w-100 text" /></p>
在这段代码后面增加如下代码。
<div id="exist-tags">
<p style="background: #fff;border: 1px solid #D9D9D6;display: block;padding: 2px 4px;">
<?php
$stack = Typecho_Widget::widget('Widget_Metas_Tag_Cloud')->stack;
$i = 0;
while (isset($stack[$i])) {
echo "<a id=\"mydiv$i\" style=\"cursor:pointer;padding: 0px 6px;margin: 2px 0;display: inline-block;\" onclick=\"mytag=document.getElementById('mydiv$i');mytag.style.backgroundColor='#E9E9E6';t=document.getElementById('tags').value;c=t?',':'';document.getElementById('tags').value=t+c+'",$stack[$i]['name'],"'\">",$stack[$i]['name'], "</a>";
$i++;
if (isset($stack[$i])) echo " ";
}
?>
</p>
</div>
效果如下,这个只是列举标签列表,不能点击添加。
代码实现自动添加
在Typecho目录admin
下找到write-post.php
文件并进行编辑,在其中找到代码(大概在94行左右)。
<p><input id="tags" name="tags" type="text" value="<?php $post->tags(',', false); ?>" class="w-100 text" /></p>
在这段代码后面增加如下代码。
<div id="exist-tags">
<p style="background: #fff;border: 1px solid #D9D9D6;display: block;padding: 2px 4px;">
<?php
$stack = Typecho_Widget::widget('Widget_Metas_Tag_Cloud')->stack;
$i = 0;
while (isset($stack[$i])) {
echo "<a id=\"mydiv$i\" style=\"cursor:pointer;padding: 0px 6px;margin: 2px 0;display: inline-block;\" onclick=\"$('#tags').tokenInput('add',{id:'",$stack[$i]['id'],"',tags:'",$stack[$i]['name'],"'});\">",$stack[$i]['name'], "</a>";
$i++;
if (isset($stack[$i])) echo " ";
}
?>
</p>
</div>
效果如下,点击标签自动添加。
独角兽驿站
公众号