我正在创建一个婚姻网站。我想根据性别设置用户头像(我有一个用户性别的自定义\\u user\\u meta),但我不知道如何获取“用户id”,以便使用元数据“user\\u meta\\u gender”(以了解用户是男性还是女性)。
P、 S:我没有使用buddypress,我使用的是一个名为Profile Builder的插件proals get\\u current\\u user\\u id无法工作,因为它只检索登录的用户id。
``这是我在函数中使用的代码。php:
function dynamic_user_gravatar($current_dp){
$id = get_the_ID(); //This is where I want to figure out a way to find the user id, this won\'t work.
$key = "user_gender";
$single = true;
$gender = get_user_meta($id, $key, $single);
if($gender == \'Male\'){
$myavatar = \'http://localhost:81/matrimony/wp-content/uploads/2020/04/groom.png\';
}else{
$myavatar = \'http://localhost:81/matrimony/wp-content/uploads/2020/04/bride.png\';
}
return $myavatar;
}
add_filter( \'get_avatar\', \'dynamic_user_gravatar\');
此外,我发现我可以通过参数“$current\\u dp”返回相关用户的化身,如果没有直接的方法来获取用户id,我们可以使用$current\\u dp从化身中检索用户id吗``
SO网友:shimii
我终于想出了答案:D多亏了@Jos
function ht1_change_avatar($args, $id_or_email) {
$gender = get_user_meta($id_or_email, \'user_gender\', true);
if($gender==\'Male\'){
$myavatar = \'http://localhost:81/matrimony/wp-content/uploads/2020/04/groom.png\';
}else{
$myavatar = \'http://localhost:81/matrimony/wp-content/uploads/2020/04/bride.png\';
}
$args[\'url\'] = $myavatar;
return $args;
}
add_filter(\'get_avatar_data\', \'ht1_change_avatar\', 100, 2);