Sie können das folgende Codefragment zu Ihrem functions.php
in Ihrem Thema hinzufügen, die Gravatar-basierte avatar Verbindung mit Standard-Avatare in lokalen
function replace_gravatar_with_default_local_avatar() {
return some_url_to_default_avatar_image;
}
add_filter('pre_option_avatar_default', 'replace_gravatar_with_default_local_avatar');
zu ersetzen Und wenn Sie tatsächlich eine Art cache
oder Gravatar möchten, Sie können eine Cache-Logik einrichten und den get_avatar
-Hook verwenden, um dies zu behandeln. Hier ist ein Beispiel für die Cache-Logik.
function cache_gravatar($avatar) {
$tmp = strpos($avatar, 'http');
$g = substr($avatar, $tmp, strpos($avatar, "'", $tmp) - $tmp);
$tmp = strpos($g, 'avatar/') + 7;
$f = substr($g, $tmp, strpos($g, "?", $tmp) - $tmp);
$w = get_bloginfo('wpurl');
$e = ABSPATH .'avatar/'. $f .'.png';
$t = dopt('d_avatarDate')*24*60*60;
if (!is_file($e) || (time() - filemtime($e)) > $t)
copy(htmlspecialchars_decode($g), $e);
else
$avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'.png'));
if (filesize($e) < 500)
copy(get_bloginfo('template_directory').'/img/default.png', $e);
$avatar = preg_replace("/srcset='([^']*)'/", '', $avatar);
return $avatar;
}
add_filter('get_avatar','cache_gravatar');
Vielen Dank, aber ich sehe keine Veränderung. Link von Gravatar erscheint immer noch. –
Jetzt verstehe ich, was du meinst, überprüfe meine Antwort noch einmal –