子网站主题神秘人在主网站上被BuddyPress取代

时间:2012-12-08 作者:AntonChanning

我在主站点安装了buddypress的多站点安装。在buddypress主题中,我可以使用自定义buddypress主题覆盖默认的“神秘人”头像。我只是有一个包含替换“神秘人”的图像文件夹。jpg的头像。

然而,对于网络上的其他wordpress站点,这种技术不起作用。我已经研究了这里提出的解决方案:

Set default avatar network-wide

但这些答案似乎与主站点上启用的buddypress不起作用。buddypress似乎以某种方式干扰了非buddypress站点获取其头像的方式,因为返回的html如下所示:

<img src="http://www.gravatar.com/avatar/ba60ca5beed202054f393b040bfd7ac3?d=http://subsite.example.com/wp-content/plugins/buddypress/bp-core/images/mystery-man.jpg&amp;s=50&amp;r=G" alt="Avatar Image" class="avatar user-16-avatar" width="50" height="50">
。。。不管我从以前的解决方案中应用了哪些函数和过滤器。

有没有办法让它看看子网站的主题是否有“图像/神秘人”。在使用buddypress默认值之前使用它?

UPDATE

根据反馈,我意识到“BuddyPress”在我的网站上启用了网络,这干扰了正常的解决方案。我已经尝试在主站点上启用此功能,但这会使所有子站点崩溃。我想这可能是因为我试图将BuddyPress活动评论添加到子网站博客中的回复中,所以我实际上希望子网站知道BuddyPress处于活动状态。

1 个回复
最合适的回答,由SO网友:AntonChanning 整理而成

以下代码需要放置在functions.php 具有替换神秘人头像的任何主题的文件。将其添加到bp-custom.php 在此情况下不起作用。

<?php   
// Use a differnt image than default mystery man
function bp_custom_set_avatar_constants() {
    define( \'BP_AVATAR_DEFAULT\', get_stylesheet_directory_uri() . \'/images/mystery-man.jpg\' );
    define( \'BP_AVATAR_DEFAULT_THUMB\', get_stylesheet_directory_uri() . \'/images/mystery-man-50.jpg\' );
}
add_action( \'bp_init\', \'bp_custom_set_avatar_constants\', 2 );
?>
然后需要创建images 主题中的文件夹,包含替换图像的两个jpg图像,与上面代码中定义的名称匹配。BP\\u AVATAR\\u DEFAULT\\u THUMB的值应为50px x 50px。另一个应为150px x 150px。

结束