我在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。我如何在我的代码中实现这一点?
答案 0 :(得分:0)
bp_core_fetch_avatar
是一个BuddyPress钩子,因此可以解释为什么您的自定义头像仅在BuddyPress区域显示。您还需要过滤get_avatar
WordPress挂钩,以便您的自定义头像显示在非BuddyPress区域。
参考:https://codex.wordpress.org/Plugin_API/Filter_Reference/get_avatar