I ran into what I thought would be fairly common need for Buddypress theme development, the ability to pull data from a custom user profile field and display it. After searching a bit, I could only find way to pull either random fields, or all of the fields together. So after digging around in the core files, I found the pieces to put together my own function for the task.
1. Create the file “bp-custom.php” and place it directly in the plugins folder. Note, do not place it in the “buddypress” folder, otherwise it will be overwritten when upgrading. If the file exists, simply append to it rather than creating a new one.
2. Paste the following function in:
function bp_the_site_member_profile_data($field_name = '', $echo = 1) {
if( !$field_name ) {
return false;
}
global $site_members_template;
if( function_exists( 'xprofile_get_field_data' ) ) {
$data = xprofile_get_field_data( $field_name,
$site_members_template->member->id);
if( $echo ) {
echo "$data";
return true;
} else {
return $data;
}
}
}
3. You can now use the function ‘bp_the_site_member_profile_data(‘MyField’) in your templates (of course, substituting ‘MyField’ with the one you’d like to use). Note, this must be place inside a ‘Members Loop’ so that the $site_members_template variable is populated. Odds are, you’re inserting this near other profile data already in the loop, so there should be no problems.
UPDATE:
As of BuddyPress 1.2, this functionality has been included. While in the members loop, you can use the included function: ‘bp_member_profile_data( ‘field=the field name’ )’ to much the same effect.
I’ve now set up half a dozen or so Ubuntu Server installations over the past year or two. For the last few, I created a checklist to make sure I don’t leave any of the smaller, less obvious things out. I present it here, completely unmodified. Note, this is more of a preliminary checklist, as it doesn’t include installation of Apache, MySql, PHP or any other programs such as Postfix. Basically, I’ll perform these steps regardless of whether It’ll be a web or mail server. These also assume you like the vi text editor, if not, you can substitute emacs, nano, or whatever your preference when neccesary. Also, some of these are already done depending on your server host.