bbp_get_author_link( mixed $args = '' )
Return the author link of the post
Description
Parameters
- $args
-
(Optional) If an integer, it is used as reply id.
Default value: ''
Return
(string) Author link of reply
Source
File: bp-forums/users/template.php
function bbp_get_author_link( $args = '' ) {
$post_id = is_numeric( $args ) ? (int) $args : 0;
// Parse arguments against default values
$r = bbp_parse_args( $args, array(
'post_id' => $post_id,
'link_title' => '',
'type' => 'both',
'size' => 80
), 'get_author_link' );
// Confirmed topic
if ( bbp_is_topic( $r['post_id'] ) ) {
return bbp_get_topic_author_link( $r );
// Confirmed reply
} elseif ( bbp_is_reply( $r['post_id'] ) ) {
return bbp_get_reply_author_link( $r );
}
// Get the post author and proceed
$user_id = get_post_field( 'post_author', $r['post_id'] );
// Neither a reply nor a topic, so could be a revision
if ( !empty( $r['post_id'] ) ) {
// Generate title with the display name of the author
if ( empty( $r['link_title'] ) ) {
$r['link_title'] = sprintf( !bbp_is_reply_anonymous( $r['post_id'] ) ? __( 'View %s\'s profile', 'buddyboss' ) : __( 'Visit %s\'s website', 'buddyboss' ), get_the_author_meta( 'display_name', $user_id ) );
}
// Assemble some link bits
$link_title = !empty( $r['link_title'] )
? ' title="' . esc_attr( $r['link_title'] ) . '"'
: '';
$anonymous = bbp_is_reply_anonymous( $r['post_id'] );
// Declare empty array
$author_links = array();
// Get avatar
if ( 'avatar' === $r['type'] || 'both' === $r['type'] ) {
$author_links[] = get_avatar( $user_id, $r['size'] );
}
// Get display name
if ( 'name' === $r['type'] || 'both' === $r['type'] ) {
$author_links[] = esc_html( get_the_author_meta( 'display_name', $user_id ) );
}
// Add links if not anonymous
if ( empty( $anonymous ) && bbp_user_has_profile( $user_id ) ) {
$author_url = bbp_get_user_profile_url( $user_id );
$author_link = array();
foreach ( $author_links as $link_text ) {
$author_link[] = sprintf( '<a href="%1$s"%2$s>%3$s</a>', esc_url( $author_url ), $link_title, $link_text );
}
$author_link = implode( ' ', $author_link );
// No links if anonymous
} else {
$author_link = implode( ' ', $author_links );
}
// No post so link is empty
} else {
$author_link = '';
}
return apply_filters( 'bbp_get_author_link', $author_link, $r );
}
Changelog
| Version | Description |
|---|---|
| bbPress (r2875) | Introduced. |
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.