WordPress:本地主机上的自定义默认头像?

2024-04-24

我正在尝试在functions.php 中向WordPress 添加自定义默认头像,但该图像未显示在“设置/讨论”或网站上的其他位置。该代码有效,因为添加了带有自定义字段名称的新单选字段,但图像不会显示。头像不显示是因为我使用的是本地主机吗?

我没有足够的代表来评论类似的问题。

这是代码:

add_filter( 'avatar_defaults' , 'wps_new_avatar' );
function wps_new_avatar( $avatar_defaults ){
    $new_avatar = get_stylesheet_directory_uri() . '/images/default-avatar.png';
    $avatar_defaults[$new_avatar] = "Default Avatar";
    return $avatar_defaults;
}

我尝试过其他示例和“Add-New-Default-Avatar”插件,但结果相同。


我面临着同样的问题,并想出了这个完全黑客的解决方案......但它有效:)

add_filter( 'get_avatar', 'so_14088040_localhost_avatar', 10, 5 );

function so_14088040_localhost_avatar( $avatar, $id_or_email, $size, $default, $alt )
{
    $whitelist = array( 'localhost', '127.0.0.1' );

    if( !in_array( $_SERVER['SERVER_ADDR'] , $whitelist ) )
        return $avatar;

    $doc = new DOMDocument;
    $doc->loadHTML( $avatar );
    $imgs = $doc->getElementsByTagName('img');
    if ( $imgs->length > 0 ) 
    {
        $url = urldecode( $imgs->item(0)->getAttribute('src') );
        $url2 = explode( 'd=', $url );
        $url3 = explode( '&', $url2[1] );
        $avatar= "<img src='{$url3[0]}' alt='' class='avatar avatar-64 photo' height='64' width='64' />";
    }

    return $avatar;
}

Result:


当然,这个过滤器仅用于开发。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WordPress:本地主机上的自定义默认头像? 的相关文章

随机推荐