[buddypress-trac] [BuddyPress] #2046: Only admin avatar in comments at blog #1
buddypress-trac at lists.automattic.com
buddypress-trac at lists.automattic.com
Mon Mar 29 02:45:54 UTC 2010
#2046: Only admin avatar in comments at blog #1
--------------------+-------------------------------------------------------
Reporter: mmeida | Owner:
Type: defect | Status: new
Priority: major | Milestone: 1.3
Component: Core | Keywords:
--------------------+-------------------------------------------------------
Changes (by lgedeon):
* component: => Core
Comment:
This can happen on any blog not using a BP theme. BP is designed to work
with other themes so the fact that is does not work qualifies as a defect,
but I found a solution for one version of the problem and learned a few
things along the way that might help with other BuddyPress avatar
problems.
Full text at: <a href="http://luke.gedeon.name/buddypress-wrong-avatar-
fix.html">http://luke.gedeon.name/buddypress-wrong-avatar-fix.html</a>
What I found:
In the file /wp-content/plugins/buddypress/bp-core/bp-core-avatars.php,
lines 344 and following contain the following code:
global $authordata;
if ( is_object( $user ) )
$id = $user->user_id;
else if ( is_numeric( $user ) )
$id = $user;
else
$id = $authordata->ID;
if ( empty( $id ) )
return $avatar;
I think that last “if statement” may be there to catch cases where the
commenter does not have a BuddyPress account (which is the majority on my
site at this point). However, if you look closely at the block just above
the “if ( empty( $id))” you will notice $id is never going to be empty at
this point.
That suggests two possible solutions.
Solution 1:
I have not tested this, but it makes sense that you could move the last
“if statement” above the first “if statement.” That way you can check for
“empty( $id )” before it gets set to”$authordata->ID”
Solution 2:
I found it works quite well to add these lines just under the last “if
statement.”
if ( is_string( $user ) )
return $avatar;
This will catch any case where an email is sent as input, which is what
all (most) non-buddypress themes send. Cases where numbers or objects are
sent (the BuddyPress method) will be handled normally.
I am going to spend a little more time getting familiar with BuddyPress
and then try to get dev access so I can get this fix into a future release
of BuddyPress. In the mean-time, we will have to just do it as a hack.
--
Ticket URL: <https://trac.buddypress.org/ticket/2046#comment:4>
BuddyPress <http://buddypress.org/>
BuddyPress
More information about the buddypress-trac
mailing list