问题描述
我同时使用 WP User Avatar 插件和 Woocommerce Profile Photo 插件。
要从 woocommerce 编辑帐户前端上传头像,我使用的是 Woocommerce 个人资料照片插件。
https://webfor99.com/woocommerce-custom-profile-picture-avatar-plugin/
为了显示更多免费的用户头像选项,我正在使用 WP 用户头像。
但他们之间现在没有联系,所以我想使用 Woocommerce Profile Photo 上传的图片作为 WP 用户头像。以下是我所做的。
function change_avatar( $avatar,$id_or_email,$size,$default,$alt ) {
$all_users = get_users(array('Meta_key' => 'profile_pic',));
foreach ($all_users as $user) {
$user_id = $user->ID;
?><pre><?PHP var_dump( $user_id ); ?></pre><?PHP
$profile_pic = get_user_Meta($user_id,'profile_pic',true);
?><pre><?PHP var_dump( $profile_pic ); ?></pre><?PHP
update_user_Meta($user_id,'wp_user_avatar',$profile_pic);
}
}
add_action('profile_update','change_avatar');
add_action('user_register','change_avatar');
使用 update_user_Meta()
更改头像但不起作用。正如你所看到的,我做了一些调试工作来检查它是否有效。在 update_user_Meta()
之前它可以正常工作。但用户头像并没有改变。
请让我获得更多帮助。谢谢
解决方法
add_action('profile_update','change_avatar');
add_action('user_register','change_avatar');
此代码不起作用。请改用 add_filter('get_avatar','change_avatar',10,5)
。
我测试过,效果很好。