首页 编程

目录:
1.typecho结构分析
2.增加站点运行时间
3.增加adsense展示广告
4.增加adsense信息流广告

自从我第一天用typecho,我就深深认识到了它真的非常丑。但因为它二次开发性的强,我仍然选用了typecho作为博客开发程序。当然,必须经过二次开发。

Typecho结构分析

想要二次开发,必须得先钻研一下typecho的结构。

先来看看typecho的目录结构图:
6870CFFB-8D4D-4D8A-92FB-FAAFF9251C7B.jpeg

上:typecho结构简图

9FD9AE45-A2E1-4F65-871B-C25D233FDC56.jpeg

上:/var/widget/结构简图

350748BC-9A65-4D65-94B7-A03C06F9F413.jpeg

上:admin结构简图

85C299FB-4F2C-4084-B322-CC1412763B69.jpeg

上:/usr/themes/结构简图

简单分析,可知admin后台管理页面不可通过主题改变,前台代码 "/var/widget/" 下的文件也不可通过主题改变,但主题文件(前台)可以二次开发。该目录存于 "/usr/themes/主题名称/" 下。

既然方向确定了,so let's do this!

改造首页 - 加上站点运行时间

效果:
8DFB0778-F2BD-4A4B-A8A1-9FECD95A1E86.jpeg
实现:
Step1 :改 "/usr/themes/{主题名称}/functions.php"。在尾部加入以下代码:

function getBuildTime(){
    // 在下面按格式输入本站创建的时间
    $site_create_time = strtotime('2019-03-24 00:00:00');
    $time = time() - $site_create_time;
    if(is_numeric($time)){
        $value = array(
            "years" => 0, "days" => 0, "hours" => 0,
            "minutes" => 0, "seconds" => 0,
        );
        if($time >= 31556926){
            $value["years"] = floor($time/31556926);
            $time = ($time%31556926);
        }
        if($time >= 86400){
            $value["days"] = floor($time/86400);
            $time = ($time%86400);
        }
        if($time >= 3600){
            $value["hours"] = floor($time/3600);
            $time = ($time%3600);
        }
        if($time >= 60){
            $value["minutes"] = floor($time/60);
            $time = ($time%60);
        }
        $value["seconds"] = floor($time);

        echo '这个小破站已经运行了: '.$value['years'].'年'.$value['days'].'天'.$value['hours'].'小时'.$value['minutes'].'分';
    }else{
        echo '';
    }
}

Step2 :改"/usr/themes/{主题名称}/footer.php",在<?php _e('由 <a href="https://typecho.org">Typecho</a> 强力驱动'); ?>. 后面加入:

<br>
    <?php getBuildTime(); ?> 

至此,刷新页面,即可见效。
效果图如开头。

加入adsense展示广告

这一步比较简单。

直接在sidebar.php中加入adsense给你的广告代码即可。不说,看图:
92B42C87-2211-475B-B986-48874E7FDCCC.jpeg

加入adsense信息流广告

这个比较复杂,但也很好实现。

Step1:新建一个信息流广告,拿到广告代码。

Step2:在"/usr/themes/{主题名称}/"下新建一个php文件,命名"streamad.php"。将广告代码填入该php文件中。

Step3:改index.php,在<div class="col-mb-12 col-8" id="main" role="main"> 下一行填入:

<?php $countss=0 ?> 

Step4 :在最后一个</article> 标签的下一行增加:

<?php $countss+=1; ?>
        <?php if($countss % 3==0): ?>
            <?php include "streamad.php"; ?>
        <?php endif; ?> 

其中第二行if($countss % 3==0)3为每隔几篇文章发一次信息流广告,可以自定义。

代码图:
A3A93A90-97B1-4806-B686-7B27B9566E8F.jpeg

效果图:进入http://www.lzcapp.xyz就看到啦

提醒

因为以上操作都是在主题文件中进行,所以每换一次主题,就得重新操作一次。所以建议 收藏本站 ,随时查看:no_mouth:




文章评论

TC