之前用的Wordpress主题大多都支持前台点击编辑按钮进入后台对文章进行修改,方便极了。转了Typecho之后换了几个主题都没发现有这个功能,果然需要造个小轮子啊。

观察一下编辑页面,都是固定地址加上CID,例如

https://kkp.disk.st/admin/write-post.php?cid=4222

那么就简单了,在输出post-entry的时候按规则输出连接就行。
翻了一下主题,是通过$this->cid来输出文章ID的。
对了,重点是管理管理员可见,翻了一下Typecho的权限体系,分为5个等级,详细请看权限控制

尼玛什么代码示例都没有,好吧,只能输出看看咯,其实不用输出都知道应该是命名为group了,这里直接给出输出用户组的方法。

<?php echo get_object_vars ($this->user)['row']['group']; ?>;

然后两者结合一下,OK啦。

<?php $currGroup = get_object_vars($this->user) ['row']['group'];
if ($currGroup == "administrator"): ?>
      <a data-no-instant="" href="<?php $this->options->siteUrl(); ?>admin/write-post.php?cid=<?php echo $this->cid; ?>"><?php  _e('Edit'); ?></a>
<?php endif; ?>

2016-04-14更新
今天在测试站测试主题的时候发现Edit按钮不能用,尼玛我后台路径改了,需要动态获取后台路径才行。

<a href="<?php echo str_replace('login.php','',$this->options->loginUrl); ?>write-post.php?cid=<?php echo $this->cid; ?>"><?php _e('Edit'); ?></a>

预览
Typecho首页文章列表新增管理员可见编辑按钮