Hi,
Looking at the screenshot, it seems you are logged in. Please logout and try viewing register page again. It will take you to register instead of redirecting to the home page.
Hope that helps.
Hi,
the warnings cames probably because the logout function is called twice.
Check your theme’s functions.php or see for a specific setting.
Can you test the standard behave with a Twenty theme and BP, and all other plugins deactivated.
Remove also the custom code while testing.
If still an issue, consider this plugin. All is in the title, but it redirects to homepage on logout.
This one should be the answer:
https://buddypress.org/support/topic/error-404-page-not-found-3/
However it did not work for me, I’ve raised a thread about it here:
https://buddypress.org/support/topic/redirect-on-logout/
It may work for you, since it worked for the other chap
@danbp
I inserted your code from here:
https://buddypress.org/support/topic/error-404-page-not-found-3/
However I am getting the following error:
ct WordPress Logout to Home Page add_action( ‘wp_logout’, create_function( ”, ‘wp_redirect( home_url() ); exit();’ ) );
Warning: Cannot modify header information – headers already sent by (output started at functions.php:87) in /homepages/14/d69811276/htdocs/clickandbuilds/BrigantesNation2147/wp-login.php on line 402
Warning: Cannot modify header information – headers already sent by (output started at /functions.php:87) in /homepages/14/d69811276/htdocs/clickandbuilds/BrigantesNation2147/wp-login.php on line 415
Would you have any idea why I am getting this error?
Yep I’d like to know what to do about that too, it should redirect to the home page on logout as standard really.
Hi,
i can’t understand how to solve this 3 questions. I am not expert, i’m not a programmer and I can’t use code.
1) Logout: when a user logs out from a private page (message, for example) using the Buddypress-Access-Widget, it says “404 error page not found”. It’s obvious. How can i redirect the logout to the Home Page, solving the problem? Is there a solution without using code?
2) Lost password: in Buddypress Access Widget you can Log-In and Register. No more. If you put a wrong password, the user is redirect to wp-login and this “loses” my site’s look, because it goes to a WordPress branded page. Is there a solution?
Hi,
the logout link is redirected to the same page. If you’re on your profile notifications screen, which is only intended for you, it is normal that when you logout from there, you’re redirected to a page not found message. Notifications is even private and not public.
The solution is to redirect to an always public part of the site on logout.
Add this snippet to child-theme’s functions.php
//* Redirect WordPress Logout to Home Page
add_action( 'wp_logout', create_function( '', 'wp_redirect( home_url() ); exit();' ) );
Advice 1: use preferably the login widget, so the user stays on the same page where he attempt to login instead to be redirected to that boring wp-login page.
Advice 2: on the Home (which is the member directory), you have all BP pages listed at the bottom. Remove them ! You certainly don’t need to give access to account activation or register page to your visitors…
@navyspitfire just tested right now and am able to redirect logins to groups section and logout to main site
I am trying to setup a login redirect for users and I can’t get any code to work. I also have BP registration plugin, and I think something is overriding all the code I put into my functions.php file. I even installed Peter’s Login Redirect and set login/logout redirects on my username, and only the logout one worked. Does anyone have any idea why that might be?
After installing Buddypress plugin, visual editor does not works correctly.
Wordpress 4.5.2
BuddyPress latest version
Plugins installed
=================
BAW Login/Logout menu 1.3.3.
Contact Form 7 4.4.2
Contact Form DB 2.10.9
Cryout Serious Theme Settings 0.5.6
Huge IT Slider 3.1.82
Limit Login Attempts 1.7.1
Link Library 5.9.12.18
LinkedIn Auto Publish 1.3.2
mathtex latex equation editor 1.1.5
New User Approve 1.7.3
Peter’s Login Redirect 2.9.0
Recent Posts Widget With Thumbnails 4.9.2
SI CAPTCHA Anti-Spam 2.7.7.7
Simple Share Buttons Adder 6.1.5
TablePress 1.7
Testimonials Widget 3.3.0
Tooltips 3.5.9
Twitter Follow Button 1.0.2
Ultimate Tables 1.6.3
User Access Manager 1.2.6.7
WP Content Copy Protection Premium (YOOPlugins) 1.8.32
WP Statistics 10.1
WP Support Plus Pro 7.0.1
WP Twitter Feeds 1.4.8
WP-Polls 2.73
WP-Pro-Quiz 0.37
WP-SpamShield 1.9.8
I’m running WordPress 4.4.2 with BP 2.5.1 and BBpress 2.5.8 with Twenty Twelve theme.
My registration page redirects to a login and I can’t register anymore. When I deactivate Buddypress, it works, when I activate it, it redirects.
A little background… I have installed and uninstalled a few login plugins “New User Approve” “WP User” and a couple others which didn’t work for me. So I finally found Theme My Login, which I installed and liked how it functioned – except it created and ran on secondary pages – (register-2, login-2) so I deleted the first register page and changed the new register page the plugin created permalink to just “register” instead of “register-2”
It didn’t work. So I deleted the register pages, uninstalled Theme My Login, and reinstalled it, hoping that would fix it. It didn’t. And now even though all the pages seem to be set correctly (login, register, logout) I can’t register because of this redirect.
Thank you for any assistance.
Hi
Our WP site has stopped allowing any logins recently and disabling the Buddypress plugin allows it to work again.
The site is http://trinity-rawdon.org.uk/new/.
When I go to login, the login page appears and I can enter details and submit, but I then just get redirected back to the login page URL, but the server doesn’t send any data for the page so I don’t get an auth cookie and I am not logged in.
If I disable the Buddypress plugin the login works fine. In addition, if I login then re-enable Buddypress I now can’t logout – I can click the logout link and it sends me to http://trinity-rawdon.org.uk/new/wp-login.php?loggedout=true but this again is a ‘no data’ page so the auth cookie stays valid, so if I just go back to any of the WP pages I am still logged in.
WP Version 4.4
Buddypress version 2.4.3
I haven’t changed anything (even content) on the site recently although Jetpack is set to auto update plugins and appears to have updated Buddypress a couple of weeks ago.
Any suggestions please?
Thanks
Okay thanks, the plugin redirects after login or logout. My problem still is, that the logo and root URL link to the members page. Is there a solution for that (PHP would be okay)?
Iām suddenly getting a blank white screen whenever I try to promote or remove a user from a group. When I turned-on debugging, the only messages I saw were about an unrelated logout redirect. Iām not sure how to proceed. Can anyone give me an idea of what to try next? Or alternatively, how I can manually promote or remove users from the DB in the meantime while I troubleshoot this?
I’m running WP 4.24 and BuddyPress 2.3.2.1. Thank you!
This is my current code:
<?php
/* Link parent CSS file */
add_action( 'wp_enqueue_scripts', 'enqueue_parent_styles' );
function enqueue_parent_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
}
/* Count number of user notifications */
function cg_current_user_notification_count() {
$notifications = bp_core_get_notifications_for_user(bp_loggedin_user_id(), 'object');
$count = !empty($notifications) ? count($notifications) : 0;
echo $count;
}
/* Remove register BuddyPress Widget creator */
function remove_bp_core_register_widgets() {
remove_action(bp_core_register_widgets());
}
add_action('init','remove_bp_core_register_widgets()');
function new_bp_core_register_widgets() {
add_action('widgets_init', create_function('', 'return register_widget("new_BP_Core_Login_Widget");') );
}
add_action( 'bp_register_widgets', 'bp_core_register_widgets' );
/* New BuddyPress Login Widget */
class new_BP_Core_Login_Widget extends WP_Widget {
/**
* Constructor method.
*/
public function __construct() {
parent::__construct(
false,
_x( '(BuddyPress) Log In', 'Title of the login widget', 'buddypress' ),
array(
'description' => __( 'Show a Log In form to logged-out visitors, and a Log Out link to those who are logged in.', 'buddypress' ),
'classname' => 'widget_bp_core_login_widget buddypress widget',
)
);
}
/**
* Display the login widget.
*
* @see WP_Widget::widget() for description of parameters.
*
* @param array $args Widget arguments.
* @param array $instance Widget settings, as saved by the user.
*/
public function widget( $args, $instance ) {
$title = isset( $instance['title'] ) ? $instance['title'] : '';
/**
* Filters the title of the Login widget.
*
* @since BuddyPress (1.9.0)
* @since BuddyPress (2.3.0) Added 'instance' and 'id_base' to arguments passed to filter.
*
* @param string $title The widget title.
* @param array $instance The settings for the particular instance of the widget.
* @param string $id_base Root ID for all widgets of this type.
*/
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
echo $args['before_widget'];
echo $args['before_title'] . esc_html( $title ) . $args['after_title']; ?>
<?php if ( is_user_logged_in() ) : ?>
<?php
/**
* Fires before the display of widget content if logged in.
*
* @since BuddyPress (1.9.0)
*/
do_action( 'bp_before_login_widget_loggedin' ); ?>
<div class="bp-login-widget-user-avatar">
<a href="<?php echo bp_loggedin_user_domain(); ?>">
<?php bp_loggedin_user_avatar( 'type=thumb&width=50&height=50' ); ?>
</a>
</div>
<div class="bp-login-widget-user-links">
<div class="bp-login-widget-user-link"><?php echo bp_core_get_userlink( bp_loggedin_user_id() ); ?></div>
<p>TEST</p>
<div class="bp-login-widget-user-logout"><a class="logout" href="<?php echo wp_logout_url( bp_get_requested_url() ); ?>"><?php _e( 'Log Out', 'buddypress' ); ?></a></div>
</div>
<?php
/**
* Fires after the display of widget content if logged in.
*
* @since BuddyPress (1.9.0)
*/
do_action( 'bp_after_login_widget_loggedin' ); ?>
<?php else : ?>
<?php
/**
* Fires before the display of widget content if logged out.
*
* @since BuddyPress (1.9.0)
*/
do_action( 'bp_before_login_widget_loggedout' ); ?>
<form name="bp-login-form" id="bp-login-widget-form" class="standard-form" action="<?php echo esc_url( site_url( 'wp-login.php', 'login_post' ) ); ?>" method="post">
<label for="bp-login-widget-user-login"><?php _e( 'Username', 'buddypress' ); ?></label>
<input type="text" name="log" id="bp-login-widget-user-login" class="input" value="" />
<label for="bp-login-widget-user-pass"><?php _e( 'Password', 'buddypress' ); ?></label>
<input type="password" name="pwd" id="bp-login-widget-user-pass" class="input" value="" <?php bp_form_field_attributes( 'password' ) ?> />
<div class="forgetmenot"><label><input name="rememberme" type="checkbox" id="bp-login-widget-rememberme" value="forever" /> <?php _e( 'Remember Me', 'buddypress' ); ?></label></div>
<input type="submit" name="wp-submit" id="bp-login-widget-submit" value="<?php esc_attr_e( 'Log In', 'buddypress' ); ?>" />
<?php if ( bp_get_signup_allowed() ) : ?>
<span class="bp-login-widget-register-link"><?php printf( __( '<a href="%s" title="Register for a new account">Register</a>', 'buddypress' ), bp_get_signup_page() ); ?></span>
<?php endif; ?>
</form>
<?php
/**
* Fires after the display of widget content if logged out.
*
* @since BuddyPress (1.9.0)
*/
do_action( 'bp_after_login_widget_loggedout' ); ?>
<?php endif;
echo $args['after_widget'];
}
/**
* Update the login widget options.
*
* @param array $new_instance The new instance options.
* @param array $old_instance The old instance options.
* @return array $instance The parsed options to be saved.
*/
public function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = isset( $new_instance['title'] ) ? strip_tags( $new_instance['title'] ) : '';
return $instance;
}
/**
* Output the login widget options form.
*
* @param $instance Settings for this widget.
*/
public function form( $instance = array() ) {
$settings = wp_parse_args( $instance, array(
'title' => '',
) ); ?>
<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'buddypress' ); ?>
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $settings['title'] ); ?>" /></label>
</p>
<?php
}
}
?>
I was trying to following the below guide to remove the function that initializes the login widget and then redirect it to my own new one:
http://venutip.com/content/right-way-override-theme-functions
Obviously hasn’t worked. Any ideas ?
Hi there,
Here’s my site:
I’m having a problem with my login/logout. I have the standard BP login and the BP Login Redirect plugin installed set to Profile. Clicking login on the main menu sends the user to the logOUT screen with no fields for username/pw:
if I click the logout (as admin) it gives this:
failure notice
I’m kinda running around in circles right now. I also can’t login as another user from my pc…not sure if it’s an IP thing or?
Wordpress 4.2.2
Buddypress 2.3.2.1
Vantage theme
Thanks everyone,
Jake
I apologize but i am not sure where to add that line of code to the below redirect code:
add_filter("login_redirect","bpdev_redirect_to_profile",10,3);
function bpdev_redirect_to_profile($redirect_to_calculated,$redirect_url_specified,$user)
{
if(empty($redirect_to_calculated))
$redirect_to_calculated=admin_url();
/*if the user is not site admin,redirect to his/her profile*/
if(!is_site_admin($user->user_login))
return bp_core_get_user_domain($user->ID );
else
return $redirect_to_calculated; /*if site admin or not logged in,do not do anything much*/
}
add_filter('logout_url',"bpdev_logout_url",100,2);
function bpdev_logout_url( $logout_url, $redirect) {
//simply ignore the redirect and set it to the main domain
//let us check for buddyopress,if yes,let us get the bp root domain right ?
if(function_exists("bp_core_get_root_domain"))
$redirect=bp_core_get_root_domain();
else
$redirect = get_blog_option( SITE_ID_CURRENT_SITE, 'siteurl' );
$args = array( 'action' => 'logout' );
if ( !empty($redirect) ) {
$args['redirect_to'] = $redirect;
}
$logout_url = add_query_arg($args, site_url('wp-login.php', 'login'));
$logout_url = wp_nonce_url( $logout_url, 'log-out' );
return $logout_url;
}
?>
Hi all,
If you logout from WP admin bar it takes you to the WP-Login screen by default (at least mine does). If you want it to return you to your website homepage put this in functions.php or bp-custom.php (depending on how you are organising your custom code):
function go_home(){
wp_redirect( home_url() );
exit();
}
add_action('wp_logout','go_home');
Just thought it may be of use to someone š
Status of groups is all public, in fact i have no private groups at all, public (2) private (0) Hidden (0) when I go to groups menu.
These are my active plugins:
Adminimize
AG Custom Admin
Agreeable
Better Search Replace
BP Login Redirect
BP Profile Search
Buddypress ā Who clicked at my Profile?
BuddyPress Cover Photo
BuddyPress Members only
BuddyPress Real Names
Custom Login URL
Email Login
K Elements
MAYO ā Login Screen
Revolution Slider
rtMedia for WordPress, BuddyPress and bbPress
TM Replace Howdy
WPBakery Visual Composer
WPi Custom Logout
Go Daddy Quick Setup
I have the following active at the moment:
Adminimize
AG Custom Admin
Agreeable
Better Search Replace
BP Login Redirect
BP Profile Search
Buddypress – Who clicked at my Profile?
BuddyPress Cover Photo
BuddyPress Members only
BuddyPress Real Names
Custom Login URL
Email Login
K Elements
MAYO – Login Screen
Revolution Slider
rtMedia for WordPress, BuddyPress and bbPress
TM Replace Howdy
WPBakery Visual Composer
WPi Custom Logout
Go Daddy Quick Setup
None of them seem to deal with friend requests.
By default Buddypress doesn’t have it’s own Login or Forgot Password pages. The behaviour of your site is correct. You could create your own page templates for separate pages, or use a plugin something like this:
https://wordpress.org/plugins/clean-login/ or
https://wordpress.org/plugins/zm-ajax-login-register/
To redirect users on login/logout:
https://wordpress.org/plugins/peters-login-redirect/
I wanted an Ajaxified login along with removal of dashboard access and I’m using 2 plugins:
Remove Dashboard Access
Login With Ajax
Login With Ajax also has a settings panel that allows you to redirect the users (globally or role based) upon login and logout, so it replaces the BP Redirect to Profile, as well, if you’re looking for that type of login functionality to go along with the redirect.
BP Redirect to Profile doesn’t block wp-admin access in and of itself, it just redirects the user to their profile upon login, but doesn’t block the admin if they put the URL in directly.
Hi,
I have a custom theme for Buddypress. Currently the WP admin bar shows for admin users, but no others.
I would like all users to be able to use the admin bar so they can access their activity, notifications, settings etc
Is this normal for Buddypress to only show the admin bar to admins? or have I somehow done something to hide it from non-admins?
It’s not a theme problem because I tried it with other themes and had the same problem.
Can anyone help?
Info:
Wordpress 3.9.1
Buddypress 2.0.1
bp-custom.php –> 2 redirect functions for login and logout
lots of plugins
Local dev running on MAMP