• Resolved in8sworld

    (@in8sworld)


    OpenID plugin was working great in 2.9. I probably wouldn’t have noticed anything was wrong since existing OpenIDs still work fine in 3.0 as well, but a (potential) new user brought to my attention that *new* OpenIDs that the site hasn’t seen before throws:

    Catchable fatal error: Object of class WP_Error could not be converted to string in (path to)/in8sworld.net/blog/wp-includes/formatting.php on line 2772

    it appears to be related to the creation of a new user – since thats what happens when someone new tries to log in with an OpenID, right? I’ve seen others complaining on other forums but not sure if maybe the problem is in the WordPress 3.0 core code?

Viewing 12 replies - 1 through 12 (of 12 total)
  • Thread Starter in8sworld

    (@in8sworld)

    update: I thought it might be my theme, but get the same error with the default wordpress 1.6 theme.

    @in8sworld
    What is in result?
    How do you solved this problem?

    Thread Starter in8sworld

    (@in8sworld)

    @vickodin: nothing good to report yet. I was hoping WP 3.0.1 would fix things, but no. I’ve found others that are running WP 3.0 and OpenID is working! I found Joe has it running here:
    http://blog.joeb454.com/2010/06/wordpress-3-0-upgrade
    and you’ll note that I was able to log in there and post a comment. Joe was kind enough to reply with some information:

    The only 2 plugins I have enabled relating to OpenID are the 2 listed below. I can’t remember exactly how I configured them, it’s been a long time, and I certainly haven’t changed anything after the upgrade to WP 3.0
    http://wordpress.org/extend/plugins/openid/
    http://wordpress.org/extend/plugins/xrds-simple/

    so its a serious mystery to me.

    Having the same issue, except with Shibboleth plugin. I did a var_dump on the object being passed to wp_strip_all_tags and it its a WP_error object that contains the text “This email address has already been registered.” Its not registered but for some reason it seems to think it is and somehow its getting passed to that function which normally only accepts strings. Hope this information helps.

    Hope this helps but I have an update. Turns out the issue was related to a blank email address in the users table because the Shibboleth plugin wasn’t originally mapped correctly when we first started testing and allowed a user to slip in without it. This caused one of the user table searches to return a result when it searched for a blank email (Not sure why the Shibbolth plug-in does this but it does a search for a blank username and then a blank email???) and return a WP_ERROR object which was passed to the wp_strip_all_tags function.

    This error is also occurring when used with the OpenID plugin. When returning back to the blog after logging in from the OpenID site, the dreaded ” PHP Catchable fatal error: Object of class WP_Error could not be converted to string in wp-includes/formatting.php on line 2772″ error appears.

    Using 3.3.3 of OpenID and 3.0.1 of wordpress. Funny thing is that this was working originally as I used to get the form to complete the account information for WordPress.

    themantimeforgot: Thanks to your post,I also did a “var_dump”, and for whatever reason, OpenID servers (yahoo! and WSO2’s Open ID Server so far) are NOT returning, sending back (or the OpenID Plugin is not querying for) the email address so it can be populated in the database.

    So, if you have 10 accounts, and all 10 have email addresses, registering via OpenID will work. But, if that OpenID account is not populated by an email address, the next person who tries to create an account with OpenID, will fail and will get the blank page because it matches on the “blank” password field in the table.

    This is part of the output for “var_dump($string)”.
    { [0]=> string(41) “This email address is already registered.” }

    Thread Starter in8sworld

    (@in8sworld)

    @themantimeforgot, @nascar2010:
    Thanks so much, its working again! Your comments prompted me to take a closer look at my user table. I had several pages of user accounts, nearly none of which I had approved despite the fact that I did not have ‘anyone can register’ checked in Settings. How were these accounts created?? The site has been running for a long time and I had originally imported into WP from Geeklog and had an integration with Menalto’s Gallery (using WPG2) so there may have been a bogus user in there somewhere. I started looking through them, and as far as I could tell they seemed to all have an email addresses set, but I decided to delete any of them that had not made a post on the site. I then re-enabled OpenID 3.3.3 and XRDS-Simple v1.0 and tried to log in with a newly created Yahoo OpenID – success! I used to use “Comments with OpenID Version 1.4 | By Korolev Igor” and that isn’t working again, but I think I’m back in business!

    Catchable fatal error: Object of class WP_Error could not be converted to string in (path to)/in8sworld.net/blog/wp-includes/formatting.php on line 2772

    I got the same error.
    it’s happend when the email already reg in the site such
    as abcde @ gmail.com and and the user try to login with the google account,
    the error happened.Is it the bug of openid or the bug of the wordpress…?

    Annapurna

    (@annapurna)

    Is it the bug of openid or the bug of the wordpress…?

    I don’t know OpenID plugin, but I was facing the same issue with my own SSO plugin.
    Now I check email before calling wp_create_user() to handle this issue.

    In any case, many thanks, you’ve made my day.

    Was a fix found for this? When I try logging back in using a “Google’ account that I previously logged in with to the website I receive the error. Please help!!

    This is not going to work until this is fixed: http://core.trac.wordpress.org/ticket/14834

Viewing 12 replies - 1 through 12 (of 12 total)
  • The topic ‘OpenID throws Catchable fatal error in WP 3.0 for new users’ is closed to new replies.