Аватар не показывает вне 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');

Аватар не появится за пределами buddypress страницы, на любой другой странице он появится. Я прочитал в интернете, что должен передать идентификатор пользователя с помощью bp_loggedin_user_id (). Как мне реализовать это в моем коде?

1 ответ

bp_core_fetch_avatar это ловушка BuddyPress, которая объясняет, почему ваш пользовательский аватар отображается только в областях BuddyPress. Вам также нужно будет отфильтровать get_avatar Хук WordPress для того, чтобы ваш аватар отображался в областях, не входящих в BuddyPress.

Ссылка: https://codex.wordpress.org/Plugin_API/Filter_Reference/get_avatar

Другие вопросы по тегам