标签 备案 下的文章

从Ghost转移到Typecho,不是说Ghost不好,主要是因为瞎捣鼓数据也没了。就重新弄一下,就选择更轻量的Typecho。

没找到直接转移数据的插件,文字就自己复制粘贴了一下。不过图片都丢失了。

还是备案信息的问题,搜索了一下,参考这位博主的方法,非常方便:

Typecho底部添加ICP备案号

主要内容:
一:进入“外观”——“编辑当前外观”

1.编辑function.php文档,在function themeConfig下添加可修改变量代码
$bei = new Typecho_Widget_Helper_Form_Element_Text('bei', NULL, NULL, _t('工信部备案号'), _t('留空则不显示'));
$form->addInput($bei->addRule('xssCheck', _t('工信部备案号不能使用特殊字符')));

2.编辑footer.php文档,在footer元素下添加显示代码
<div class="blog-text-center"><a href="https://beian.miit.gov.cn/" target="_blank" rel="nofollow"><?php $this->options->bei(); ?></a></div>

二:进入“外观”——“设置外观”
即可添加ICP备案号

我当前使用的是Theme是一个简约风格的主题 – dawn

因为最近更换了主题没留意备案号没有写上,导致腾讯云电话和邮件通知要修复,不然网站就不能访问。

之前一直都是直接改主题文件,把备案号写主题源码里。但是这样的话很麻烦,包括主题更新或者更换都会直接影响到。

在官方文档查到Code Injection这个功能是可以直接插入执行JS代码的,所以在这里顺便做个记录,可供有同样需求的朋友食用。

// 图片已丢失

具体的执行代码需要根据你所用的主题来实际修改,比如我用的主题在footer部位有copyright的声明,我就直接在这后面插入备案信息,执行脚本如下:

<script>
// 获取copyright的DOM对象
var cr = document.getElementsByClassName('copyright');

// getElementsByClassName 获取到的对象是数组,默认直接取用首位即可
cr[0].insertAdjacentHTML('afterend', '<div style="color: var(--secondary-text-color); font-size: 1.2rem; letter-spacing: -.02rem;"><a style="color:var(--secondary-text-color);" target="_blank" href="https://beian.miit.gov.cn/">您的备案号</a></div>');
</script>

参考: