handsome主题很多地方不适合我,所以每当有更新时我都需要修改源码,而每次修改都间隔几个月时间,我都忘记要改哪里了,现在在这里记录一下以备用:

  • 删除首页标题 index.php中的h1

1.png

  • 添加360广告 index.php中最底下

备注:如果要取消360广告,选中项中最底下那两个/div是主题本身的内容,不能删除,否则页面会错乱。
2.png

  • 删除底部标识 在footer.php中

3.png

  • 修改“首页”的颜色

5.png

  • 把“文章归档”嵌入到时光机“cross”动态中:

文章归档的文件是files.php,如图中选中项一直往下到</mail>全部复制

6.png

把下图这行内容替换为刚刚复制的内容,粘贴后要删除下面这一行,要不然右侧会多出一栏:
{callout color="#f0ad4e"}
<!--首页右侧栏--><?php $this->need('component/sidebar.php') ?>
{/callout}

7.png

  • 把aside.php中的这几项改为需要的内容

20211031142809.png

20191107174640.png

以下内容均添加在i /i里

厦门:class="fontello fontello-twitter text-primary">

相册:class="fontello fontello-picture text-success">

网吧:class="fontello fontello-tags text-info">

  • 关于“发布时间”的两项修改

20210218152526.png

1,找到根目录下的post.php,“发布时间”项,把选中的内容改为 ('Y 年 m 月 d 日 H:s:i'); ? 如下图:

20210218152551.png

2021年10月31日备注:上面写错了,应该修改为 H:i:s才对!

2,文章左下角会有个“最后修改时间”,我非常反感PM/AM显示又不知道怎么改为24小时制,所以整行删除。

20210218152705.png

以及主题设置的几项参数:下载地址

  • 在右侧添加显示二维码,手机扫码可阅读

1,先下载此文件 qrcode.min.txt ,记得要改名为 qrcode.min.js 再放到主题目录下的这个位置:\bk\usr\themes\handsome\assets\js

2,在主题设置里的“全局右侧边广告位”添加如下代码,记得查看js的路径是否正确

<div id="qrcode" style="width:130px;margin:10px auto 20px auto;"></div>
<div style="text-align:center">扫描二维码,在手机上阅读!</div>
<script src="/bk/usr/themes/handsome/assets/js/qrcode.min.js"></script>
<script>
var qrcode = new QRCode('qrcode', {
text: window.location.href,
width: 200,
height: 200,
colorDark: '#000000',
colorLight: '#ffffff',
correctLevel: QRCode.CorrectLevel.H
});
</script>

  • 在评论区添加IP属地功能

1,将此代码放入主题的functions_mine.php文件中,可插入在最尾部,也可插入在中间,不知道为什么我插入最尾部,上传到虚拟主机后,用文件管理器打开却看不到。其它主题是放在functions.php文件中。 获取评论者地址.txt

2,下载QQWry.Dat放在网站根目录,注意是网站根目录!由于我博客主题是在子目录bk下,所以我把这个文件放到bk根目录下。下载地址: qqwry.zip

3,打开主题评论模板comments.php文件,在您想显示的位置加上如下代码:<?php echo convertip($comments->ip); ?> handsome主题是添加在大约70-72行位置如下图:

20220523150853.png

4,Typecho配置CDN后获取访客真实IP地址可能会受到影响,请在Typecho站点根目录里的config.inc.php添加下面这段代码即可

//绕过 CDN 代理IP获取客户真实IP地址
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$_SERVER['REMOTE_ADDR'] = $list[0];
}