bp_get_blog_avatar( array|string $args = '' )
Get a blog’s avatar.
Description
At the moment, blog avatars are simply the user avatars of the blog admin. Filter ‘bp_get_blog_avatar_’ . $blog_id to customize.
See also
- bp_core_fetch_avatar(): For a description of arguments and return values.
Parameters
- $args
-
(Optional) Arguments are listed here with an explanation of their defaults. For more information about the arguments, see bp_core_fetch_avatar().
- 'alt'
(string) Default: 'Profile picture of site author [user name]'. - 'class'
(string) Default: 'avatar'. - 'type'
(string) Default: 'full'. - 'width'
(int|bool) Default: false. - 'height'
(int|bool) Default: false. - 'id'
(bool) Currently unused. - 'no_grav'
(bool) Default: true.
Default value: ''
- 'alt'
Return
(string) User avatar string.
Source
File: bp-blogs/bp-blogs-template.php
317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 | function bp_get_blog_avatar( $args = '' ) { global $blogs_template ; // Bail if avatars are turned off // @todo Should we maybe still filter this? if ( ! buddypress()->avatar->show_avatars ) { return false; } $author_displayname = bp_core_get_user_displayname( $blogs_template ->blog->admin_user_id ); // Parse the arguments. $r = bp_parse_args( $args , array ( 'type' => 'full' , 'width' => false, 'height' => false, 'class' => 'avatar' , 'id' => false, 'alt' => sprintf( __( 'Profile photo of site author %s' , 'buddyboss' ), esc_attr( $author_displayname ) ), 'no_grav' => true, ) ); // Use site icon if available. $avatar = '' ; if ( bp_is_active( 'blogs' , 'site-icon' ) && function_exists( 'has_site_icon' ) ) { $site_icon = bp_blogs_get_blogmeta( bp_get_blog_id(), "site_icon_url_{$r['type']}" ); // Never attempted to fetch site icon before; do it now! if ( '' === $site_icon ) { switch_to_blog( bp_get_blog_id() ); // Fetch the other size first. if ( 'full' === $r [ 'type' ] ) { $size = bp_core_avatar_thumb_width(); $save_size = 'thumb' ; } else { $size = bp_core_avatar_full_width(); $save_size = 'full' ; } $site_icon = get_site_icon_url( $size ); // Empty site icons get saved as integer 0. if ( empty ( $site_icon ) ) { $site_icon = 0; } // Sync site icon for other size to blogmeta. bp_blogs_update_blogmeta( bp_get_blog_id(), "site_icon_url_{$save_size}" , $site_icon ); // Now, fetch the size we want. if ( 0 !== $site_icon ) { $size = 'full' === $r [ 'type' ] ? bp_core_avatar_full_width() : bp_core_avatar_thumb_width(); $site_icon = get_site_icon_url( $size ); } // Sync site icon to blogmeta. bp_blogs_update_blogmeta( bp_get_blog_id(), "site_icon_url_{$r['type']}" , $site_icon ); restore_current_blog(); } // We have a site icon. if ( ! is_numeric ( $site_icon ) ) { if ( empty ( $r [ 'width' ] ) && ! isset( $size ) ) { $size = 'full' === $r [ 'type' ] ? bp_core_avatar_full_width() : bp_core_avatar_thumb_width(); } else { $size = (int) $r [ 'width' ]; } $avatar = sprintf( '<img src="%1$s" class="%2$s" width="%3$s" height="%3$s" alt="%4$s" />' , esc_url( $site_icon ), esc_attr( "{$r['class']} avatar-{$size}" ), esc_attr( $size ), sprintf( esc_attr__( 'Site icon for %s' , 'buddyboss' ), bp_get_blog_name() ) ); } } // Fallback to user ID avatar. if ( '' === $avatar ) { $avatar = bp_core_fetch_avatar( array ( 'item_id' => $blogs_template ->blog->admin_user_id, // 'avatar_dir' => 'blog-avatars', // 'object' => 'blog', 'type' => $r [ 'type' ], 'alt' => $r [ 'alt' ], 'css_id' => $r [ 'id' ], 'class' => $r [ 'class' ], 'width' => $r [ 'width' ], 'height' => $r [ 'height' ] ) ); } /** * In future BuddyPress versions you will be able to set the avatar for a blog. * Right now you can use a filter with the ID of the blog to change it if you wish. * By default it will return the avatar for the primary blog admin. * * This filter is deprecated as of BuddyPress 1.5 and may be removed in a future version. * Use the 'bp_get_blog_avatar' filter instead. */ $avatar = apply_filters( 'bp_get_blog_avatar_' . $blogs_template ->blog->blog_id, $avatar ); /** * Filters a blog's avatar. * * @since BuddyPress 1.5.0 * * @param string $avatar Formatted HTML <img> element, or raw avatar * URL based on $html arg. * @param int $blog_id ID of the blog whose avatar is being displayed. * @param array $r Array of arguments used when fetching avatar. */ return apply_filters( 'bp_get_blog_avatar' , $avatar , $blogs_template ->blog->blog_id, $r ); } |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.