问题描述
我正在使用 Add a profile picture (file upload) on My account > edit account in WooCommerce 答案代码添加自定义图片上传字段。
但是,此上传的图片仅显示在 WooCommerce 中用户的个人资料中。
我希望后台的管理员也可以在 wordpress 仪表板中显示的用户列表中看到这些图片(请参阅附加图片)。
我该如何解决?
解决方法
默认情况下,WordPress 中使用 Gravatar 图像。所以基于:
- WordPress 开发堆栈交换 - Replace Gravatar with uploaded images?
- Add a profile picture (file upload) on My account > edit account in WooCommerce
问答,你会得到这个更新的代码,它会回答你的问题:
// Replace default Gravatar Image used in WordPress
function filter_get_avatar( $avatar,$id_or_email,$size,$default,$alt ) {
// If is email,try and find user ID
if ( ! is_numeric( $id_or_email ) && is_email( $id_or_email->comment_author_email ) ) {
$user = get_user_by( 'email',$id_or_email );
if ( $user ) {
$id_or_email = $user->ID;
}
}
// If not user ID,return
if( ! is_numeric( $id_or_email ) ) {
return $avatar;
}
// Get attachment id
$attachment_id = get_user_meta( $id_or_email,'image',true );
// NOT empty
if ( ! empty ( $attachment_id ) ) {
// Return saved image
return wp_get_attachment_image( $attachment_id,[ $size,$size ],false,['alt' => $alt] );
}
return $avatar;
}
add_filter( 'get_avatar','filter_get_avatar',10,5 );
使用的 WordPress 功能: