既然都添加了阅读统计,就干脆再添加个打赏功能吧,没准哪位好心人能给个块儿八毛的。
还是一样,本着能不用插件就不用插件的原则,就找现成的代码吧。网上的内容不知道几经易手,也搞不清楚谁是原创了。总之,百度一下就能出来的,也就不放出处了。
第一步,将以下html代码插入需要打赏功能的页面或文章的模板中(比如single.php),并且建议使用子主题的方式,避免因主题升级之后覆盖修改的代码。主题复杂的话,可能需要稍微留意一下代码,比如像我用的flatbase主题,文章输出的部分被放在了另一个php文件中。
<div class="reward">
<div class="reward-button">赏
<span class="reward-code">
<span class="alipay-code">
<img class="alipay-img" src="支付宝二维码图片路径(200*200px)">
<b>支付宝扫码打赏</b>
</span>
<span class="wechat-code">
<img class="wechat-img" src="微信二维码图片路径(200*200px)">
<b>微信打赏</b>
</span>
</span>
</div>
<p class="reward-notice"> 如果文章对您有帮助,欢迎移至上方按钮打赏作者 </p>
</div>
注:记得将图片的URL替换掉
第二步,将以下代码放到主题的style.css
文件或custom.css
文件中。
/*打赏*/
.reward {
padding: 5px 0;
}
.reward .reward-notice {
font-size: 14px;
line-height: 14px;
margin: 15px auto;
text-align: center;
}
.reward .reward-button {
font-size: 28px;
line-height: 58px;
position: relative;
display: block;
width: 60px;
height: 60px;
margin: 0 auto;
padding: 0;
-webkit-user-select: none;
text-align: center;
vertical-align: middle;
color: #fff;
border: 1px solid #f1b60e;
border-radius: 50%;
background: #fccd60;
background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#fccd60),color-stop(100%,#fbae12),color-stop(100%,#2989d8),color-stop(100%,#207cca));
background: -webkit-linear-gradient(top,#fccd60 0,#fbae12 100%,#2989d8 100%,#207cca 100%);
background: linear-gradient(to bottom,#fccd60 0,#fbae12 100%,#2989d8 100%,#207cca 100%);
}
.reward .reward-code {
position: absolute;
top: -220px;
left: 50%;
display: none;
width: 350px;
height: 200px;
margin-left: -175px;
padding: 15px;
border: 1px solid #e6e6e6;
background: #fff;
box-shadow: 0 1px 1px 1px #efefef;
}
.reward .reward-button:hover .reward-code {
display: block;
}
.reward .reward-code span {
display: inline-block;
width: 150px;
height: 150px;
}
.reward .reward-code span.alipay-code {
float: left;
}
.reward .reward-code span.alipay-code a {
padding: 0;
}
.reward .reward-code span.wechat-code {
float: right;
}
.reward .reward-code img {
display: inline-block;
float: left;
width: 150px;
height: 150px;
margin: 0 auto;
border: 0;
}
.reward .reward-code b {
font-size: 14px;
line-height: 26px;
display: block;
margin: 0;
text-align: center;
color: #666;
}
.reward .reward-code b.notice {
line-height: 2rem;
margin-top: -1rem;
color: #999;
}
.reward .reward-code:after,.reward .reward-code:before {
position: absolute;
content: '';
border: 10px solid transparent;
}
.reward .reward-code:after {
bottom: -19px;
left: 50%;
margin-left: -10px;
border-top-color: #fff;
}
.reward .reward-code:before {
bottom: -20px;
left: 50%;
margin-left: -10px;
border-top-color: #e6e6e6;
}
注意:网上的代码可能会有一定的出入,记得检验一下效果。我碰到的就是text-align: center;
处用的是别的,结果“赏”字都歪了,不知道是不是某些作者故意的。
好了,最后的效果就像这样:
挺好,不算太违和。