记录博客近期改动的功能
温馨提示:本文共计795个字,预计阅读时间需要3分钟。
最近修改了 3 个功能,记录下,方便以后查阅。
分别是:腾讯公益 404、评论外链转内链 base64 加密、Gravatar 头像缓存。
如果你也有需要,请自提,不同博客代码或有偏差。
1:腾讯公益 404
找到主题文件夹(\wp-content\themes\主题名) 中的 404.php,用下面的代码替换掉以前的。
1 2 3 4 5 6 7 8 9 10 11 12 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="Content-Type" content="text/html; charset=<?php bloginfo( 'charset' ); ?>" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>页面虽已不在但宝贝还未回家 | <?php bloginfo('name'); ?></title> <meta name="description" content="您访问的页面已失效,但宝贝们还未回到家,为公益付出点滴行动,善小也要为。" /> </head> <body> <script type="text/javascript" src="//qzonestyle.gtimg.cn/qzone/hybrid/app/404/search_children.js" charset="utf-8" homePageUrl="你的博客网址" homePageName="你的博客名称"></script> </body> </html> |
为什么改:最近在微博看到宝贝回家创始人张宝艳人大代表建议把拐卖妇女儿童犯罪提高起刑点,详情请查看新闻,故想到之前腾讯有做一个公益 404 页面,所谓勿以善小而不为,便想想就添加上了,尽点绵薄之力。
如有时间,下次写个 WP 插件把所有网络公益行动汇总更好。
2:评论外链转内链 base64 加密
每个博客不同,请搜索主题下 function.php 中 add_filter('get_comment_author_link' 代码,代码参考如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// 评论链接新窗口 20190306修正原版未引用问题,增加钩子同时增加外链转内链base64加密 function commentauthor() { $url = get_comment_author_url( $comment_ID ); $author = get_comment_author( $comment_ID ); if ( empty( $url ) || 'http://' == $url ){ return $author; } // 我的博客不知道为什么home_url的值是没有s的,所以增加了此判断,一般不需要 elseif ( 'https://bwskyer.com' == $url ) { return "<a href='$url' rel='nofollow' class='url'>$author</a>"; } else{ if (!preg_match(home_url(),$url)) { echo "<a href='".home_url()."/goto/".base64_encode($url)."' rel='nofollow' target='_blank' class='url'>$author</a>"; } else { return "<a href='$url' rel='nofollow' target='_blank' class='url'>$author</a>"; } } } add_filter('get_comment_author_link', 'commentauthor'); |
加密自然要解密,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
//编译外链并302转向 20190306 function link_redirect() { $baseurl = 'goto'; $request = 'https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $hop_base = trailingslashit(trailingslashit(home_url()).$baseurl); if (substr($request,0,strlen($hop_base)) != $hop_base) return false; $hop_key = str_ireplace($hop_base, '', $request); if(substr($hop_key, -1) == '/')$hop_key = substr($hop_key, 0, -1); if (!empty($hop_key)) { $url = base64_decode($hop_key); wp_redirect( $url, 302 ); exit; } } add_action('template_redirect','link_redirect'); |
效果预览
为什么改:其实添加了 external nofollow 就可以,但还是不爽某些做无意义评论有意弄 SEO 的,故选择加上。
Gravatar 头像缓存
最后没使用,代码部分有效,分享出来,空了修正。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
//增加头像缓存 用了CDN未开启缓存 20190307 function md_avatar_cache( $avatar ){ $tmp = strpos( $avatar, 'http' ); $g = substr( $avatar, $tmp, strpos( $avatar, '\'', $tmp ) - $tmp ); $tmp = strpos( $g, 'avatar/' ) + 7; $f = substr( $g, $tmp, strpos( $g, '?', $tmp ) - $tmp );//匹配图片名称 $e = get_template_directory() . '/cache/gravatar/' . $f . '.png';//图片缓存路径 $t = 1296000; //缓存15天 if( !is_file( $e ) || ( time() - filemtime( $e ) ) > $t ) copy( htmlspecialchars_decode( $g ), $e ); else $avatar = strtr( $avatar, array( $g => get_template_directory_uri() . '/cache/gravatar/' . $f . '.png' ) ); if( filesize( $e ) < 200 ) copy( get_template_directory() . '/cache/gravatar/default.png', $e ); return $avatar; } add_filter('get_avatar', 'md_avatar_cache' ); |
有问题的是很多会被 default.png 文件覆盖,filesize 判断的是字节,1 个图片怎么可能会小于 200,暂时停掉。
为什么改:Avatar 老是抽风,可能是最近和某会有关,CN 的也不好使,便想到缓存。
WP 折腾就是能改代码不装插件,但要做好修改记录,其实我也懒,之前 SSL 就是用插件解决,还是看个人习惯,希望对有需求的博友有帮助。
-End-
2019年03月11日 16:53 沙发
收藏第一第二个,准备折腾。
2019年03月12日 10:16
@从良未遂 你的评论被Akismet判定了,刚从里面拉出来,如有问题可以和我一起交流,贵博也很不错,订阅了
2019年03月11日 23:33 板凳
可以,很强!学习了
2019年03月12日 10:41
@刘大喵 互相学习,互相学习
2019年03月12日 09:11 地板
公益404那个挺好的,我觉得有意义~等我闲了,我也给加上去
2019年03月12日 10:20
@bosir 简单得很,宝贝回家其实弄了好多年,蛮好的一个公益项目。
2019年03月12日 16:08 4楼
404很好啊,就从点滴开始做一些好事。
2019年03月12日 20:18 5楼
logo换了么
2019年03月12日 20:25
@TOTO Fav没换,Logo没了,毕竟博客名改了。
2019年03月12日 21:01 6楼
我觉得cn的头像还行,然后就是你这么会折腾,怎么就没有对1024分辨率自适应呢,嘎嘎!
2019年03月12日 21:19
@林三 CN之前那几天偶尔抽风,不严重,所以懒得改了,手机自适应就好了,现在用桌面端看网页的人太少,不折腾
2019年03月12日 22:50 7楼
做站的乐趣就是折腾
2019年03月15日 08:22 8楼
我喜欢第三个,收藏,哈哈哈
2019年03月15日 09:20
@明月清风 你是Z-blog的嘛,确定你能用,别忽悠我
2019年03月15日 13:00
@Sam.Z 改下试试看看行不行
2019年03月15日 13:27
@明月清风 你用的是loli cdn的gravatar头像地址,稳得很,不需要改。
2019年03月15日 15:18 9楼
收藏,现在折腾不动了,觉得能够静下来码文字已经是一种幸福
2019年03月16日 16:53
@响石潭 医生你的博客是Z-Blog啦~ 内容比外观重要,折腾纯粹是好玩。
2019年03月16日 15:59 10楼
头像缓存很难折腾完美……
2019年03月16日 16:50
@老杨 确实,也可以用中转服务器来搞定。
2019年03月17日 08:14 11楼
我的博客 Gravatar 大頭貼沒有抽過吖
2019年03月17日 10:01
@nice 现在很稳了,前不久偶尔会
2019年03月21日 12:39 12楼
以前我也是修改的,后来发现每次换肤都要修改,嫌烦了,直接都用插件了。
2019年03月22日 05:22
@子痕 確實是這樣哈
2019年03月24日 22:35 13楼
嗯,好好折腾吧。
2019年03月25日 19:42 14楼
折腾折腾的好。
2019年05月23日 20:24 15楼
这个跳转加密挺不错的,有空折腾折腾
2019年05月24日 17:18
@唯心寒辞 還有個方法,跳轉到html,倒計時5秒,可以放廣告