之前用的Wordpress主题大多都支持前台点击编辑按钮进入后台对文章进行修改,方便极了。转了Typecho之后换了几个主题都没发现有这个功能,果然需要造个小轮子啊。另外一篇为文章,同样是实现了这个方法,可参考:Typecho 文章增加在线可编辑按钮
观察一下编辑页面,都是固定地址加上CID,例如
http://blog.iplayloli.com/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>