';
$login .= '
' . sprintf( __('Welcome, %1$s!', 'members'), $user_identity ) . '
';
$login .= '';
}
else {
$login = '';
}
return $login;
}
/**
* Function for listing users like the WordPress function currently use for authors.
* This function is based off wp_dropdown_users() and wp_list_authors(). It is my
* hope that a wp_list_users() function eventually exists and this is no longer relevant.
*
* @todo Allow the input of a role to limit the list.
*
* @since 0.1
* @param $order string ASC or DESC order.
* @param $orderby string display_name, id, user_login
* @param $include string IDs of users to include.
* @param $exclude string IDs of users to exclude.
* @param $limit int Number of users to list.
* @param $show_fullname bool Whether to show users' full name (defaults to display name).
* @param $echo bool Whether to print the list or return for use in a function.
*/
function members_list_users( $args = array() ) {
global $wpdb;
$defaults = array(
'order' => 'ASC',
'orderby' => 'display_name',
'include' => '',
'exclude' => '',
//'role' => '',
'limit' => '',
//'optioncount' => false,
'show_fullname' => true,
//'exclude_empty' => false,
//'exclude_admin' => true,
'echo' => true,
);
$r = wp_parse_args( $args, $defaults );
$r = apply_filters( 'members_list_users_args', $r );
extract( $r, EXTR_SKIP );
$query = "SELECT * FROM $wpdb->users";
$query_where = array();
if ( is_array( $include ) )
$include = join( ',', $include );
$include = preg_replace( '/[^0-9,]/', '', $include ); // (int)
if ( $include )
$query_where[] = "ID IN ($include)";
if ( is_array($exclude) )
$exclude = join( ',', $exclude );
$exclude = preg_replace( '/[^0-9,]/', '', $exclude ); // (int)
if ( $exclude )
$query_where[] = "ID NOT IN ($exclude)";
if ( $query_where )
$query .= " WHERE " . join( ' AND', $query_where );
$query .= " ORDER BY $orderby $order";
if ( '' != $limit ) {
$limit = absint( $limit );
$query .= ' LIMIT ' . $limit;
}
$users = $wpdb->get_results( $query );
$output = '';
if ( !empty( $users ) ) {
foreach ( (array) $users as $user ) {
$user->ID = (int) $user->ID;
$author = get_userdata( $user->ID );
$name = $author->display_name;
if ( $show_fullname && ($author->first_name != '' && $author->last_name != '') )
$name = "$author->first_name $author->last_name";
$class = "user-{$user->ID}";
if ( is_author( $user->ID ) )
$class .= ' current-user';
if ( $hide_empty )
$output .= "$name\n";
else
$output .= "$name\n";
}
}
$output = apply_filters( 'members_list_users', $output );
if ( !$echo )
return $output;
echo $output;
}
?>