个人网站CMS主题TStyl的Gravatar头像缓存方法

个人网站CMS主题TStyl的Gravatar头像缓存方法,第1张

概述首先在网站的根目录建立文件夹:avatar,权限为:755, 这是准备 gravatar 缓存的路径。 然后把一个50×50的jpg图片改名为:default.jpg,把它存到刚才建立的 gravatar 缓存文件夹 avatar 里面。 下面是修改代码的方法: 1,进入后台,在 外观 编辑 那里,然后编辑 functions.php 文件,也可以… 首先在网站的根目录建立文件夹: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 文件,完毕。

现在已经全面实现了头像缓存的功能,不用插件的,绿色环保。此方法不支持后台头像缓存。 总结

以上是内存溢出为你收集整理的个人网站CMS主题TStyl的Gravatar头像缓存方法全部内容,希望文章能够帮你解决个人网站CMS主题TStyl的Gravatar头像缓存方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/1000465.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存