阿凡达不会在BuddyPress外面显示

时间:2015-04-23 10:31:25

标签: buddypress

我在function.php中使用了这段代码:



wpse_49216_my_new_avatar_url function () {
     $ gender = xprofile_get_field_data ('ranking', bp_get_member_user_id ());
if ($ gender == "Top 25") {
return 'http://hsseek2.esy.es/wp-content/uploads/2015/04/25.png';
}
if ($ gender == "Top 24") {
return 'http://hsseek2.esy.es/wp-content/uploads/2015/04/24.png';
}
}
add_filter ('bp_core_fetch_avatar_url', 'wpse_49216_my_new_avatar_url');

function wpse_49216_filter_bp_avatar ($ html) {
     return preg_replace ('/src=".+?"/', 'src =' 'wpse_49216_my_new_avatar_url ()..' "', $ html);
}
add_filter ('bp_core_fetch_avatar', 'wpse_49216_filter_bp_avatar');




头像不会出现在页面外的页面上,也不会出现在任何其他页面上。我在网上看到我必须用bp_loggedin_user_id()传递用户的id。我如何在我的代码中实现这一点?

1 个答案:

答案 0 :(得分:0)

bp_core_fetch_avatar是一个BuddyPress钩子,因此可以解释为什么您的自定义头像仅在BuddyPress区域显示。您还需要过滤get_avatar WordPress挂钩,以便您的自定义头像显示在非BuddyPress区域。

参考:https://codex.wordpress.org/Plugin_API/Filter_Reference/get_avatar