Fehlendes Profilbild dank WP Social

closeDieser Beitrag wurde vor über 3 Monaten veröffentlicht. Die darin beschriebenen Informationen sind mit Vorsicht zu geniessen, da sie bereits veraltet oder nicht mehr gültig sein könnten. Solltest du von Neuerungen oder Verbesserungen wissen, so freue ich mich über einen klärenden Kommentar.

Das Social Plugin, welches mir dabei hilft Kommentare von Facebook und Twitter auf meinem Blog zusammenzuziehen, hatte einige Probleme mit den Avataren. Lustigerweise wurden mir im Backend von WordPress alle Avatare korrekt von Facebook, Twitter oder Gravatar abgerufen, jedoch nicht im Frontend, also im Blog selbst. Da wurden alle Avatare von Facebook und Twitter durch ein graues Männchen ersetzt, wie wenn kein Profilbild hinterlegt wäre…
Nach ein bisschen Suchen bin ich dann in der Datei functions/comments.php fündig geworden:

<div class="c-grav">
	<?php echo get_avatar(get_comment_author_email(), '32')?>
</div>

Dieses Stückchen Code versucht den Avatar anhand der Email-Adresse des Users auszulesen. Dummerweise nur erstellt das Social-Plugin keine Verknüpfung zwischen der URL für das Profilbild und der Email-Adresse, also habe ich den Code ein bisschen angepasst:

<div class="c-grav">
	<?php echo get_avatar(get_comment(get_comment_ID()), '32')?>
</div>

Jetzt werden zwar die Avatare von Facebook und Twitter korrekt eingebunden, jedoch die von Gravatar nicht mehr! Also folgt noch eine Anpassung:

<div class="c-grav">
	<?php
		if (strlen(get_avatar(get_comment(get_comment_ID()), '32')) <= 76) {
			echo get_avatar(get_comment_author_email(), '32');
		} else {
			echo get_avatar(get_comment(get_comment_ID()), '32');
		}
	?>
</div>

Dank dieser werden nun alle Avatare, egal ob von Facebook, Twitter oder Gravatar korrekt dargestellt. Happy Hacking ;)

close
Immer informiert sein dank meines RSS Feeds.Oder folge mir via Twitter!

4 Gedanken zu „Fehlendes Profilbild dank WP Social

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <b> <blockquote cite=""> <cite> <del datetime=""> <em> <i> <pre lang="" line="" escaped=""> <strong>