UPDATE!
I know this hasn’t been updated in 7 months, but I needed this feature and none of the plugins and mods here worked, but I figured out a way and wanted to share it.
Add this before HTML tag in your theme’s header.php file. (Note: Be sure to replace YOUR_DOMAIN_NAME with the domain of your buddypress installation.)
<?php
global $post;
if ( is_home()) { ?>
<?php global $current_user; ?>
<?php $log = $current_user->user_login; ?>
<?php if ( is_user_logged_in() ) : ?>
<?php header('Location: http://www.YOUR_DOMAIN_NAME.com/members/'.$log); ?>
<?php else : ?>
<?php header(''); ?>
<?php endif; ?>
<?php
} else {
// User is not logged in - Display homepage
}
?>
Now I’m using a plugin called Branded Login for Buddypress by Brajesh Singh — This plugin includes <input type="hidden" name="redirect_to" value="<?php bloginfo('url'); ?>" /> on the login.php file but I’m pretty sure the normal BP login form has this as well so it should work.
Result summary:
After login the script checks if the current page is the site HOME page, if true it runs another script to see if the user is logged in, if the user is logged in it redirects them to there profile page. if the user is not logged in, or it is not the HOME page it does nothing and loads the page normally.
End Result: Instantly takes user to profile page after login, and if they try to reach the site homepage its now there profile page.
Hope this helps! working wonders for me