2017-03-03 99 views
1

我已经做了这么多次,但由于某种原因,它今天不起作用!WordPress中的自定义默认gravatar

这是用于添加一默认的gravatar功能:

//***Custom Gravatar**/ 
add_filter('avatar_defaults', 'custom_gravatar'); 
function custom_gravatar ($avatar_defaults) { 
    $myavatar = get_stylesheet_directory_uri() . '/images/gravatar.png'; 
    print_r($myavatar); 
    $avatar_defaults[$myavatar] = "Custom Gravatar"; 
    return $avatar_defaults; 
} 

在设置>讨论,标题为“自定义的Gravatar”显示,但没有图像。前端也没有图像。

print_r($myavatar);显示正确的URL。

URL显示正确的图像。

的前端输出,这样的图片src:

http://0.gravatar.com/avatar/0d2ef201aafaf4849d2fd2bccaba6ea4?s=60&d=http%3A%2F%2Fstaging.cashmoneylife.com%2Fwp-content%2Fthemes%2Fgenesis-sample-master%2Fimages%2Fgravatar.png&r=g

我俯瞰很简单的东西?

回答

1

找到this post其中规定(引述Gravatar documents):

当你有一个默认的图像,的Gravatar会自动,如果没有与所请求的电子邮件 哈希相关的图像成为了 的形象。有哪些必须满足的默认图像 URL几个条件:

  • 必须是公开的(如不能在企业内部网,本地开发机器上,后面的HTTP认证或其他一些防火墙 等)。默认图像通过安全扫描传递,以避免恶意内容。
  • 务必分别通过HTTP或HTTPS在标准端口80和443上访问。
  • 必须有一个可识别图像扩展名(JPG,JPEG,GIF,PNG)
  • 不得包含查询字符串(如果这样做,将被忽略)

任何时候你在本地发展机会???

+0

感谢丹尼尔 - 它符合所有这些标准 - 我没有在本地开发。我在字符串上尝试了'urldecode',但它没有帮助 –

+0

有没有机会显示'print_r($ myavatar);'显示的内容? –

+0

在后台这个'http:// staging.cashmoneylife.com/wp-content/themes/genesis-sample-master/images/gravatar.png',但是在前端img src是'http:// 0。 gravatar.com/avatar/0d2ef201aafaf4849d2fd2bccaba6ea4?s = 60&d = http%3A%2F%2Fstaging.cashmoneylife.com%2Fwp-content%2Fthemes%2Fgenesis-sample-master%2Fimages%2Fgravatar.png&r = g' –