Typecho 撰写/编辑文章 标签快速选择

发表在 教程 共有 0 条评论

真觉得Typecho的文章撰写/编辑界面简洁得有点过份,连最常用的文章标签tags列表也没有显示,常常要打开管理中的“标签”里查看。以下这段代码可以简化许多

首先在目录admin下找到write-post.php文件,定位到约94行处,内容如下:

<p><input id="tags" name="tags" type="text" value="<?php $post->tags(',', false); ?>" class="w-100 text" /></p>

在上面这段内容后面添加以下内容:

<script>function LabelSelect(lab){document.getElementById('token-input-tags').value=lab;document.getElementById('token-input-tags').focus();}</script>
<p style="background:#cecece;display:block;margin:6px 0;padding:6px 10px">
<?php
$stack = Typecho_Widget::widget('Widget_Metas_Tag_Cloud')->stack;
$i = 0;
while (isset($stack[$i])) {
    echo '<a href="javascript:LabelSelect(\''.$stack[$i]['name'].'\')">'.$stack[$i]['name'].'</a>';
    $i++;
    if(isset($stack[$i])) echo ', ';
}
?>
</p>
//旧版本
<p style="background:#cecece;display:block;margin:6px 0;padding:6px 10px">
<?php
$stack = Typecho_Widget::widget('Widget_Metas_Tag_Cloud')->stack;
$i = 0;
while (isset($stack[$i])) {
echo "<a style=\"cursor:pointer\" onclick=\"document.getElementById('token-input-tags').value='".$stack[$i]['name']."'\">".$stack[$i]['name']."</a>";
$i++;
if (isset($stack[$i])) echo ", ";
}
?>
</p>

其中 $stack[$i]['name'] 的 name 改为 slug 即显示 标签缩略名

保存后覆盖即可。

以上内容于 Typecho 版本 1.1 (17.10.30) 测试通过

评论已关闭