// Remove some arguments that may be present and shouldn't be
            $http_referer = remove_query_arg(array('instance', 'action', 'checkemail', 'error', 'loggedout', 'registered', 'redirect_to', 'updated', 'key', '_wpnonce'), $http_referer);
            // Make sure $user object exists and is a WP_User instance
            if (!is_wp_error($user) && is_a($user, 'WP_User')) {
                if (is_multisite() && empty($user->roles)) {
                    $user->roles = array('subscriber');
                }
                $user_role = reset($user->roles);
                $redirection = $this->get_option($user_role, array());
                if ('referer' == $redirection['logout_type']) {
                    // Send 'em back to the referer
                    $redirect_to = $http_referer;
                } elseif ('custom' == $redirection['logout_type']) {
                    // Send 'em to the specified URL
                    $redirect_to = $redirection['logout_url'];
                    // Allow a few user specific variables
                    $redirect_to = Theme_My_Login_Common::replace_vars($redirect_to, $user->ID, array('%user_id%' => $user->ID));
                }
            }
            // Make sure $redirect_to isn't empty or pointing to an admin URL (causing an endless loop)
            if (empty($redirect_to) || false !== strpos($redirect_to, 'wp-admin')) {
                $redirect_to = add_query_arg('loggedout', 'true', wp_login_url());
            }
            return $redirect_to;
        }
    }
    Theme_My_Login_Custom_Redirection::get_object();
}
if (is_admin()) {
    include_once dirname(__FILE__) . '/admin/custom-redirection-admin.php';
}
 /**
  * Returns default options
  *
  * @since 6.3
  * @access public
  */
 public static function default_options()
 {
     return Theme_My_Login_Custom_Redirection::default_options();
 }