加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > wordpress > 正文

个人网站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 文件,完毕。

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读