这篇文章上次修改于 2808 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

使用Typecho在后台写文章的时候,不像Wordpress可以把常用的标签甚至是全部标签列出来,如果记得不是很清楚的话,就只能去查,比较麻烦。我们可以通过修改Typecho的源代码,在写文章的页面列出所有的标签,再配合Typecho标签的自动联想功能,就能比较好的解决这个问题了。

具体修改方法如下:

在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>

这样就OK了,具体效果如下: