如何防止某一特定用户的头像(Gravata)在前台展示给其他用户?

时间:2020-02-20 作者:Luis Rock

是的,我需要一个代码来做到这一点。插件不是一个选项,我需要使用主题的功能。php文件。

也许这个过滤器会有帮助:

apply_filters( \'get_avatar\', string $avatar, mixed $id_or_email, int $size, string $default, string $alt, array $args )

我有用户ID。

1 个回复
最合适的回答,由SO网友:Vitauts Stočka 整理而成

使用此挂钩函数替换用户的化身(以HTML形式传入<img ...> 标记)如果用户的ID或电子邮件符合您的条件。您可以使用任何其他默认图像,也可以为每个用户获取单独的替换图像。

function my_get_avatar($avatar, $id_or_email, $size, $default, $alt) {
    if ($id_or_email == "[email protected]") {
        $img = "http://path.to/default/avatar.jpg";
        $avatar = "<img src=\'".$img ."\' alt=\'".$alt."\' height=\'".$size."\' width=\'".$size."\' />";
    }
    return $avatar;
}
add_filter(\'get_avatar\', \'my_get_avatar\', 10, 5);

相关推荐

在wp_USERS上添加wp_usermeta的自定义SQL查询

我试图使用SQL in()查询WordPress中的用户id列表,并在wp\\u usermeta表中的meta\\u键“is\\u registered”上添加meta\\u值为“Yes”的用户id,但我似乎无法实现这一点。它只返回0个结果。如果我只将IN()与ID的数组一起使用,则效果很好。以下是我正在使用的内容:SELECT DISTINCT wp_users.ID FROM wp_users LEFT JOIN wp_usermeta ON ( wp_users.ID = wp_usermeta.