之前我是使用Jetpack的里程碑插件在页面尾部放了一个建站计时。后来发现这个JS加载很慢,所以就准备用html代码来实现。

这是之前使用的小工具。很多大佬都说过,WordPress想要跑得快就尽可能少用插件,能用代码实现的都用代码来实现。

这是实现的效果,

实现方法很简单,在你想要添加小工具的位置(比如我用的脚注)选择添加“自定义HTML代码”,添加以下代码就可以了,来试一试吧!

<script>
    function secondToDate(second) {
        if (!second) {
            return 0;
        }
        var time = new Array(0, 0, 0, 0, 0);
        if (second >= 365 * 24 * 3600) {
            time[0] = parseInt(second / (365 * 24 * 3600));
            second %= 365 * 24 * 3600;
        }
        if (second >= 24 * 3600) {
            time[1] = parseInt(second / (24 * 3600));
            second %= 24 * 3600;
        }
        if (second >= 3600) {
            time[2] = parseInt(second / 3600);
            second %= 3600;
        }
        if (second >= 60) {
            time[3] = parseInt(second / 60);
            second %= 60;
        }
        if (second > 0) {
            time[4] = second;
        }
        return time;
    }
</script>
<script type="text/javascript" language="javascript">
    function setTime() {
        // 博客创建时间秒数,时间格式中,月比较特殊,是从0开始的,所以想要显示5月,得写4才行,如下
        var create_time = Math.round(new Date(Date.UTC(2018, 11, 2, 21, 43, 53))
                .getTime() / 1000);
        // 当前时间秒数,增加时区的差异
        var timestamp = Math.round((new Date().getTime() + 8 * 60 * 60 * 1000) / 1000);
        currentTime = secondToDate((timestamp - create_time));
        currentTimeHtml = currentTime[0] + '年' + currentTime[1] + '天'
                + currentTime[2] + '时' + currentTime[3] + '分' + currentTime[4]
                + '秒';
        document.getElementById("htmer_time").innerHTML = currentTimeHtml;
    }
    setInterval(setTime, 1000);
</script>
<span id="htmer_time" style="color: white;"></span>

除非注明,否则均为Troy小法师原创文章,转载必须以链接形式标明本文链接

本文链接: https://www.troyqi.com/archives/710/自定义代码实现博客建站计时/


1 条评论

奶爸de笔记 · 2019年5月28日 下午10:44

我之前也弄过一个这样的代码,不过现在没用了。

发表评论