我的博客遍布https。我正在使用gravatar来显示用户的个人资料图片,如下所示:
<? echo get_avatar( get_the_author_meta('user_email'), $size = '56'); ?>
问题是这是http,我该如何制作这个https?
由于
答案 0 :(得分:3)
get_avatar function位于wp-includes/pluggable.php。内置了一个if语句来检查站点是否通过ssl提供,如果是,则使用下面代码中的链接。所以它应该已经检查你是否强制使用ssl连接并使用正确的链接。
2075 if ( is_ssl() ) {
2076 $host = 'https://secure.gravatar.com';
虽然有时候会有一些错误导致gravatar没有显示出我来过的地方。您是否收到任何错误,或者您的ssl连接是否显示部分安全?
答案 1 :(得分:1)
接受的解决方案存在的问题是,如果您要缓存此数据,最终可能会缓存http(如果您通过http和https提供博客),之后会在https上提供,导致警告,所以我和#39; d宁愿强迫https。
以下是如何正确行事:
get_avatar( $id, $size, null, false, array('scheme' => 'https') );