- Code: Select all
/?s2member_seeking=page-138&s2member_level_req=0
138 is the ID of the Login Welcome page. So even though I have entered the new username and password correctly, somehow it thinks I'm not logged in. At that point I'm in a kind of twilight zone where there's no easy way to log out. I have to manually enter this URL in order to log out:
- Code: Select all
/wp-login.php?loggedout=true
This scenario is solidly reproducible. By adding some tracing code to plugins/s2member/includes/classes/pages.inc.php, I have determined that this code at lines 48 to 54 is deciding to redirect:
- Code: Select all
$user = (is_user_logged_in ()) ? wp_get_current_user () : false; /* Get the current User's object. */
/**/
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_welcome_page"] && $page_id == $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_welcome_page"] && c_ws_plugin__s2member_no_cache::no_cache_constants (true) !== "nill" && (!$user || !current_user_can ("access_s2member_level0")) && $page_id != $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["membership_options_page"])
{
wp_redirect (add_query_arg (urlencode_deep (array ("s2member_seeking" => "page-" . $page_id, "s2member_level_req" => "0")), get_page_link ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["membership_options_page"])), apply_filters ("ws_plugin__s2member_content_redirect_status", 301, get_defined_vars ()));
exit ();
}
I have further determined that $user is false at this point, so is_user_logged_in() somehow returned false.
Any information on what the problem might be would be greatly appreciated. Thanks.