it-swarm.com.de

Das Ändern des Buddypress-Standardavatars wirkt sich auf alle Site-Avatare aus (da Gravatar).

Ich habe nach einer Möglichkeit gesucht, den standardmäßigen Buddypress-Avatar für Mitglieder zu ändern, und habe dies teilweise nur mithilfe des einfachen Buddypress-Codex-Info hier verwaltet.

ABER

Die Codex-Informationen machen den Trick nicht ganz. Es scheint, dass Gravatar es überschreibt, so dass der Codex-Code nur funktioniert, wenn ich zuerst Gravatar deaktiviere.

Das Problem, mit dem ich jetzt konfrontiert bin, ist, dass es beim Deaktivieren von Gravatar für BuddyPress auf der gesamten Website deaktiviert wird, sodass normale WordPress-Benutzer (z. B. Administratoren/Redakteure) ihre Avatare nicht über das Backend-Benutzerprofil von WordPress bearbeiten können, because es ist so eingerichtet, dass du "dein Profilbild in Gravatar ändern kannst".

ABER

Alle Benutzer können ihre Buddypress-Kontoseite aufrufen (die wir alle automatisch aufrufen, unabhängig davon, wie wir uns angemeldet haben, solange wir ein Benutzerkonto auf der Website haben) und dort ihren Avatar ändern, was sich auf die gesamte Website auswirkt.

Es ist alles in Ordnung, aber nicht ganz richtig.

Ich frage mich also, ob jemand eine Lösung hat, mit der ich einen neuen Standard-Buddypress-Avatar festlegen kann, ohne Gravatar vollständig deaktivieren zu müssen.

Hier ist der Code in der Datei bp-custom.php:

<?php

// disable gravatar  
add_filter( 'bp_core_fetch_avatar_no_grav', '__return_true' );

//change Buddypress default avatar
define ( 'BP_AVATAR_DEFAULT', 'http://localhost/mysite/wp- 
content/uploads/2017/08/profilpic.png' );
define ( 'BP_AVATAR_DEFAULT_THUMB', 'http://localhost/mysite/wp- 
content/uploads/2017/08/profilpic.png' );

?>
2
Haazna

Ok, also ich denke ich habe eine Lösung gefunden und wollte posten, falls dies ein Problem für irgendjemanden anderen ist.

Ich habe mich entschlossen, auf die Erstellung eines benutzerdefinierten Standard-Avatars durch buddypress zu verzichten, was bedeutet, dass ich nicht mehr über die Verwendung der Datei bp-custom.php rede.

Stattdessen habe ich mich dafür entschieden, mithilfe der Funktionsdatei meines untergeordneten Themas eine benutzerdefinierte Gravatar-Option im WordPress-Backend zu erstellen.

Ich habe ein paar verschiedene Codeversionen ausprobiert, aber dabei bin ich geblieben:

add_filter( 'avatar_defaults', 'wpb_new_gravatar' );
function wpb_new_gravatar ($avatar_defaults) {
$myavatar = 'http://example.com/wp-content/uploads/2017/01/wpb-default- 
gravatar.png';
$avatar_defaults[$myavatar] = "Default Gravatar";
return $avatar_defaults;
} 

Fügen Sie den obigen Code zu Ihrer Theme-Funktionsdatei hinzu und ersetzen Sie die Dummy-Bildadresse durch das gewünschte Standard-Gravatar-/Avatar-Bild für alle WordPress-Benutzer.

Gehen Sie dann zu Einstellungen> Diskussion im WordPress-Administrationsbereich.

Sie sollten Ihr benutzerdefiniertes Avatar-Bild unten in der Liste der Avatar-Bilder sehen.

Wählen Sie dies als Standard und speichern Sie.

Dieses Bild ist nun die Standardeinstellung für alle Site-Benutzer, einschließlich BuddyPress. Benutzer können jedoch ihre eigenen Bilder entweder über BuddyPress oder über den WordPress-Administrationsbereich über Gravatar hochladen.

2
Haazna