Support » Plugins » Outbound Requests Fail After plugins_loaded Triggered

  • Hello, world!

    There is an interesting problem on my site that has left me quite baffled, and I hoped one of you might know what the problem is.

    In short, if I don’t put a HTTP request to any remote server before the ‘plugins_loaded’ action is triggered, remote requests don’t work in WP E-Commerce. I tried both cURL, wp_remote_post, and file_get_contents().

    The long version:

    My site processes credit cards through, with the WP E-Commerce plugin. Unfortunately, the request to fails with the error “Couldn’t resolve host ‘'”. I tried creating another script on the same host to execute the same request, and it worked. I tried putting the request in WordPresses index.php, and it worked from there.

    However, something interesting happened when I made a request in index.php before WordPress was loaded. The request in the plugin worked! I removed it, the plugin request failed. I figured out that simply putting in a file_get_contents() call to any remote HTTP server caused the plugin request to magically work.

    After working my way down the stack to figure out where the problem was starting, I came down to the ‘plugins_loaded’ action. If I placed the file_get_contents() in the same scope as the ‘plugins_loaded’ action registration call in the plugin, the request worked. Putting it into the function that ‘plugins_loaded’ called resulted in both of them failing.

    It seems that the difference between the payment processing working and not working is placing a HTTP request to any remote HTTP server before ‘plugins_loaded’ is triggered.

    Why in the world would that happen? And why does a request before that action make it work? I’m quite confused.

    Thank you!

  • The topic ‘Outbound Requests Fail After plugins_loaded Triggered’ is closed to new replies.