Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
07/28/2011 10:49:48 PM (15 years ago)
Author:
boonebgorges
Message:

Ensure that bp_get_member_name() always returns a fullname value. Fixes #3404. Props slaFFik

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-members/bp-members-template.php

    r4859 r4890  
    502502        function bp_get_member_link() { return bp_get_member_permalink(); }
    503503
     504/**
     505 * Echoes bp_get_member_name()
     506 *
     507 * @package BuddyPress
     508 */
    504509function bp_member_name() {
    505510        echo apply_filters( 'bp_member_name', bp_get_member_name() );
    506511}
     512        /**
     513         * Used inside a bp_has_members() loop, this function returns a user's full name
     514         *
     515         * Full name is, by default, pulled from xprofile's Full Name field. When this field is
     516         * empty, we try to get an alternative name from the WP users table, in the following order
     517         * of preference: display_name, user_nicename, user_login.
     518         *
     519         * @package BuddyPress
     520         *
     521         * @uses apply_filters() Filter bp_get_the_member_name() to alter the function's output
     522         * @return str The user's fullname for display
     523         */
    507524        function bp_get_member_name() {
    508525                global $members_template;
    509 
    510                 if ( empty($members_template->member->fullname) )
    511                         $members_template->member->fullname = $members_template->member->display_name;
     526               
     527                // Generally, this only fires when xprofile is disabled
     528                if ( empty( $members_template->member->fullname ) ) {
     529                        // Our order of preference for alternative fullnames
     530                        $name_stack = array(
     531                                'display_name',
     532                                'user_nicename',
     533                                'user_login'
     534                        );
     535
     536                        foreach ( $name_stack as $source ) {
     537                                if ( !empty( $members_template->member->{$source} ) ) {
     538                                        // When a value is found, set it as fullname and be done
     539                                        // with it
     540                                        $members_template->member->fullname = $members_template->member->{$source};
     541                                        break;
     542                                }
     543                        }
     544                }
    512545
    513546                return apply_filters( 'bp_get_member_name', $members_template->member->fullname );
Note: See TracChangeset for help on using the changeset viewer.