Forum Replies Created
Viewing 1 replies (of 1 total)
-
In reply to: Change the color of individual role names
I know this topic is very old, but is the most recent i found about this argument.
I need different colors for authors link ( topic and replys) .
I solved using the filters
bbp_get_reply_author_link
andbbp_get_topic_author_link
in function.php of my child theme.I changed the class
$link_class
in$author_link
, you can found the original code in bbpress/includes/topics/template.php and bbpress/includes/reply/template.php.This is the complete code in my function.php child’s theme:
//custom color LINK AUTHOR roles add_filter( 'bbp_get_reply_author_link', 'addrole_reply_author_links', 10, 2); add_filter( 'bbp_get_topic_author_link', 'addrole_topic_author_links', 10, 2); function addrole_topic_author_links($author_link, $args) { // Parse arguments against default values $r = bbp_parse_args( $args, array( 'post_id' => 0, 'link_title' => '', 'type' => 'both', 'size' => 80, 'sep' => ' ', 'show_role' => false ), 'get_topic_author_link' ); // Used as topic_id if ( is_numeric( $args ) ) { $topic_id = bbp_get_topic_id( $args ); } else { $topic_id = bbp_get_topic_id( $r['post_id'] ); } // Topic ID is good if ( !empty( $topic_id ) ) { // Get some useful topic information $author_url = bbp_get_topic_author_url( $topic_id ); $anonymous = bbp_is_topic_anonymous( $topic_id ); // Tweak link title if empty if ( empty( $r['link_title'] ) ) { $link_title = sprintf( empty( $anonymous ) ? __( 'View %s\'s profile', 'bbpress' ) : __( 'Visit %s\'s website', 'bbpress' ), bbp_get_topic_author_display_name( $topic_id ) ); // Use what was passed if not } else { $link_title = $r['link_title']; } // Setup title and author_links array $link_title = !empty( $link_title ) ? ' title="' . esc_attr( $link_title ) . '"' : ''; $author_links = array(); // Get avatar if ( 'avatar' === $r['type'] || 'both' === $r['type'] ) { $author_links['avatar'] = bbp_get_topic_author_avatar( $topic_id, $r['size'] ); } // Get display name if ( 'name' === $r['type'] || 'both' === $r['type'] ) { $author_links['name'] = bbp_get_topic_author_display_name( $topic_id ); } // Link class //ADD ROLE CLASS TO LINK $role = str_replace(' ', '-', strtolower(bbp_get_user_display_role( bbp_get_topic_author_id( $topic_id )) )); $link_class = ' class="'.$role.' bbp-author-' . esc_attr( $r['type'] ) . '"'; // Add links if not anonymous if ( empty( $anonymous ) && bbp_user_has_profile( bbp_get_topic_author_id( $topic_id ) ) ) { $author_link = array(); // Assemble the links foreach ( $author_links as $link => $link_text ) { //ADD ROLE CLASS TO LINK $role = str_replace(' ', '-', strtolower(bbp_get_user_display_role( bbp_get_topic_author_id( $topic_id )) )); $link_class = ' class="'.$role.' bbp-author-' . esc_attr( $link ) . '"'; $author_link[] = sprintf( '<a href="%1$s"%2$s%3$s>%4$s</a>', esc_url( $author_url ), $link_title, $link_class, $link_text ); } if ( true === $r['show_role'] ) { $author_link[] = bbp_get_topic_author_role( array( 'topic_id' => $topic_id ) ); } $author_link = implode( $r['sep'], $author_link ); // No links if anonymous } else { $author_link = implode( $r['sep'], $author_links ); } } else { $author_link = ''; } return $author_link; } function addrole_reply_author_links($author_link, $args) { // Parse arguments against default values $r = bbp_parse_args( $args, array( 'post_id' => 0, 'link_title' => '', 'type' => 'both', 'size' => 80, 'sep' => ' ', 'show_role' => false ), 'get_reply_author_link' ); // Used as reply_id if ( is_numeric( $args ) ) { $reply_id = bbp_get_reply_id( $args ); } else { $reply_id = bbp_get_reply_id( $r['post_id'] ); } // Reply ID is good if ( !empty( $reply_id ) ) { // Get some useful reply information $author_url = bbp_get_reply_author_url( $reply_id ); $anonymous = bbp_is_reply_anonymous( $reply_id ); // Tweak link title if empty if ( empty( $r['link_title'] ) ) { $link_title = sprintf( empty( $anonymous ) ? __( 'View %s\'s profile', 'bbpress' ) : __( 'Visit %s\'s website', 'bbpress' ), bbp_get_reply_author_display_name( $reply_id ) ); // Use what was passed if not } else { $link_title = $r['link_title']; } // Setup title and author_links array $link_title = !empty( $link_title ) ? ' title="' . esc_attr( $link_title ) . '"' : ''; $author_links = array(); // Get avatar if ( 'avatar' === $r['type'] || 'both' === $r['type'] ) { $author_links['avatar'] = bbp_get_reply_author_avatar( $reply_id, $r['size'] ); } // Get display name if ( 'name' === $r['type'] || 'both' === $r['type'] ) { $author_links['name'] = bbp_get_reply_author_display_name( $reply_id ); } // Link class //ADD ROLE CLASS TO LINK $role = str_replace(' ', '-', strtolower(bbp_get_user_display_role( bbp_get_reply_author_id( $reply_id ) ))); $link_class = ' class="'.$role.' bbp-author-' . esc_attr( $r['type'] ) . '"'; // Add links if not anonymous and existing user if ( empty( $anonymous ) && bbp_user_has_profile( bbp_get_reply_author_id( $reply_id ) ) ) { $author_link = array(); // Assemble the links foreach ( $author_links as $link => $link_text ) { //ADD ROLE CLASS TO LINK $role = str_replace(' ', '-', strtolower(bbp_get_user_display_role( bbp_get_reply_author_id( $reply_id ) ))); $link_class = ' class="'.$role.' bbp-author-' . $link . '"'; $author_link[] = sprintf( '<a href="%1$s"%2$s%3$s>%4$s</a>', esc_url( $author_url ), $link_title, $link_class, $link_text ); } if ( true === $r['show_role'] ) { $author_link[] = bbp_get_reply_author_role( array( 'reply_id' => $reply_id ) ); } $author_link = implode( $r['sep'], $author_link ); // No links if anonymous } else { $author_link = implode( $r['sep'], $author_links ); } // No replies so link is empty } else { $author_link = ''; } return $author_link; }
Then you have to add the CSS to the new class added to author’s link.
Hope will be useful,
bye,
Marco.
Viewing 1 replies (of 1 total)