Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
07/28/2011 10:49:48 PM (14 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.