如果没有插件,有没有办法更改用户的化身?为什么用户>您的个人资料中没有“头像上传”部分?

我不能使用插件。我是盲人还是被迫使用Gravatar? ;/

有帮助吗?

解决方案

头像本来是由用户控制的,而不是由您控制的。因此,是的,在某种程度上,您被迫使用Gravatar服务。但是请记住,它使用户能够在任何地方使用相同的头像,并且您始终可以根据内容评分(G,PG,PG-13,R)限制gravatar的显示。

Gravatar是一项托管服务,这就是为什么配置文件中没有“上传阿凡达”部分的原因。

您说您“无法使用插件”,但实际上,这是添加功能的唯一方法。如果您想使用某些东西 其他 比Gravatar,您需要加载一个插件来支撑它。有一些支持本地化身的插件:

否则,我建议您对用户进行教育,以了解什么是坟墓以及如何使用它们。

其他提示

如果您询问如何用自己的一个替换默认的gravatar,则可以将此代码放在functions.php中(或者如果您的主题支持它,则可以使用custom-functions.php)。

add_filter( 'avatar_defaults', 'customgravatar' );

function customgravatar ($avatar_defaults) {
$myavatar = get_home_url('Template_directory') . '/images/mycustomgravatar.jpg';
$avatar_defaults[$myavatar] = "My Custom Logo";
return $avatar_defaults;
}

创建图像文件并将其上传到您网站的图像目录。 “我的自定义徽标”是仪表板讨论部分中选项的标签。这样,任何没有Gravatar的用户都会获得您网站的徽标。

与Ray Mitchell的答案相比 WordPress法典页面由于传递到默认的Avatar Hook的归一化用户ID(这可以使用简单的用户ID或电子邮件以及对象用户本身),因此它运行良好

    // Apply filter
add_filter( 'get_avatar' , 'my_custom_avatar' , 1 , 5 );

function my_custom_avatar( $avatar, $id_or_email, $size, $default, $alt ) {
    $user = false;

    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 && is_object( $user ) ) {

        if ( $user->data->ID == '1' ) {
            $avatar = 'YOUR_NEW_IMAGE_URL';
            $avatar = "<img alt='{$alt}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
        }

    }

    return $avatar;
}

我知道,在一个项目站点上,我能够在“用户配置文件编辑器”页面上创建一个字段,用于接受图像路径(如果我没记错的话,可以通过媒体页面上载)可以用于化身。无需插件。

我注意到这取决于激活哪个主题。例如,咒语主题中没有选项,但是BuddyPress默认主题中有一个选项。

您可以做到...您需要将图像添加到媒体中。复制该媒体文件URL并粘贴/链接到您在编辑用户下的自定义用户头像URL。分类!

将您的avatar.jpg文件添加到您的孩子主题images文件夹和以下代码中的孩子主题函数文件:

add_filter( 'get_avatar' , 'add_custom_avatar' , 1 , 5 );

function add_custom_avatar( $avatar, $id_or_email, $size, $default, $alt ) {
    $user = false;

    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 && is_object( $user ) ) {

        if ( $user->data->ID == '1' ) {
            $avatar = sprintf( '%s/images/avatar.jpg', get_stylesheet_directory_uri() );
            $avatar = "<img alt='{$alt}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
        }

    }

    return $avatar;
}
许可以下: CC-BY-SA归因
scroll top