个人网站CMS主题TStyl的Gravatar头像缓存方法
发布时间:2020-12-14 14:12:41 所属栏目:wordpress 来源:网络整理
导读:首先在网站的根目录建立文件夹:avatar,权限为:755,这是准备 gravatar 缓存的路径。 然后把一个5050的jpg图片改名为:default.jpg,把它存到刚才建立的 gravatar 缓存文件夹 avatar 里面。 下面是修改代码的方法: 1,进入后台,在 外观 编辑 那里,然后编
首先在网站的根目录建立文件夹:avatar,权限为:755,这是准备 gravatar 缓存的路径。 然后把一个50×50的jpg图片改名为:default.jpg,把它存到刚才建立的 gravatar 缓存文件夹 avatar 里面。 下面是修改代码的方法: 1,进入后台,在 外观 编辑 那里,然后编辑 functions.php 文件,也可以把这个文件下到本地电脑再进行编辑。 在functions.php文件找到下面的代码 foreach ($comments as $comment) { $email=$comment->comment_author_email; 在上面这两行代码中间插入下面的代码进去: (也就是在 foreach ($comments as $comment) { 下面添加下面的代码进去) $p = ‘avatar/’; $f = md5(strtolower($comment->comment_author_email)); $a = $p . $f .’.jpg’; $e = ABSPATH . $a; if (!is_file($e)){ //当头像不存在就更新 $d = get_bloginfo(‘wpurl’). ‘/avatar/default.jpg’; $s = ’32′; //头像大小 自行根据自己模板设置 $r = get_option(‘avatar_rating’); $g = ‘http://www.gravatar.com/avatar/’.$f.’.jpg?s=’.$s.’&d=’.$d.’&r=’.$r; copy($g,$e); if ( filesize($e) == 0 ){ copy($d,$e); } }; 2,找到下面的代码 $email=$comment->comment_author_email; $grav_url=”http://www.gravatar.com/avatar/”.md5($email).”?s=32″; 把 $grav_url=”http://www.gravatar.com/avatar/”.md5($email).”?s=32″; 改成 $grav_url=”../$a”; 到这时已经有一部分头像实现了头像缓存了。你可以先保存测试下效果,再打开网站,看看网站右边的 最新评论 和 最新留言 的头像图片地址是不是变成自己网站的址地了。 3,继续编辑 functions.php 文件,找到下面的内容: //最新评论、留言 function recent_comment 在 //最新评论、留言 上面插入下面的代码: function mytheme_comment($comment,$args,$depth) { $GLOBALS['comment'] = $comment; ?> <li <?php comment_class(); ?> id=”li-comment-<?php comment_ID() ?>”> <div id=”comment-<?php comment_ID(); ?>”> <div> <?php $p = ‘avatar/’; $f = md5(strtolower($comment->comment_author_email)); $a = $p . $f .’.jpg’; $e = ABSPATH . $a; if (!is_file($e)){ //当头像不存在就更新 $d = get_bloginfo(‘wpurl’). ‘/avatar/default.jpg’; $s = ’48′; //头像大小 自行根据自己模板设置 $r = get_option(‘avatar_rating’); $g = ‘http://www.gravatar.com/avatar/’.$f.’.jpg?s=’.$s.’&d=’.$d.’&r=’.$r; copy($g,$e); } }; ?> <img src=’<?php bloginfo(‘wpurl’); ?>/<?php echo $a ?>’ alt=” class=’avatar’ /> <?php printf(__(‘<cite>%s</cite> <span>says:</span>’),get_comment_author_link()) ?> </div> <?php if ($comment->comment_approved == ’0′) : ?> <em><?php _e(‘Your comment is awaiting moderation.’) ?></em> <br /> <?php endif; ?> <div><a href=”<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>”><?php printf(__(‘%1$s at %2$s’),get_comment_date(),get_comment_time()) ?></a><?php edit_comment_link(__(‘(Edit)’),’ ‘,”) ?></div> <?php comment_text() ?> <div> <?php comment_reply_link(array_merge( $args,array(‘depth’ => $depth,‘max_depth’ => $args['max_depth']))) ?> </div> </div> <?php } 更新 functions.php 文件。 4,编辑 comments.php 文件,找到 <?php wp_list_comments(‘avatar_size=48′); ?> ,把这段代码替换为下面的代码: <?php wp_list_comments(‘type=comment&callback=mytheme_comment’); ?> 更新 comments.php 文件,完毕。 现在已经全面实现了头像缓存的功能,不用插件的,绿色环保。此方法不支持后台头像缓存。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |