我正在运行wp multisite,并在我的功能中为我的本地化身使用ACF自定义字段(用户编辑)。我添加的php:
add_action(\'get_avatar\', \'tsm_acf_profile_avatar\', 10, 3);
function tsm_acf_profile_avatar( $avatar, $id_or_email, $size, $default, $alt ) {
$user = \'\';
// Get user by id or email
if ( is_numeric( $id_or_email ) ) {
$id = (int) $id_or_email;
$user = get_user_by( \'id\' , $id );
} elseif ( is_object( $id_or_email ) ) {
if ( ! empty( $id_or_email->user_id ) ) {
$id = (int) $id_or_email->user_id;
$user = get_user_by( \'id\' , $id );
}
} else {
$user = get_user_by( \'email\', $id_or_email );
}
if ( ! $user ) {
return $avatar;
}
// Get the user id
$user_id = $user->ID;
// Get the file id
$image_id = get_user_meta($user_id, \'avatar\', true); // CHANGE TO YOUR FIELD NAME
// Bail if we don\'t have a local avatar
if ( ! $image_id ) {
return $avatar;
}
// Get the file size
$image_url = wp_get_attachment_image_src( $image_id, \'thumbnail\' ); // Set image size by name
// Get the file url
$avatar_url = $image_url[0];
// Get the img markup
$avatar = \'<img alt="\' . $alt . \'" src="\' . $avatar_url . \'" class="avatar avatar-\' . $size . \'" height="\' . $size . \'" width="\' . $size . \'"/>\';
// Return our new avatar
return $avatar;
}
这在主博客(博客1)上效果很好,但问题是,当我在子网站(博客2)上添加用户时,我的头像字段在博客2中是空的,而且在这之后,如果我在博客2上上传头像,那么博客1上的同一个用户会得到一些随机用户的随机图像。
我不知道为什么会发生这种情况,欢迎提供任何帮助。
非常感谢。