On one of my sites I attempted to upgrade EDD to 18.104.22.168 and JetPack to 2.0.4
After the upgrade I received a number of messages including:
Notice: is_page was called incorrectly. Conditional query tags do not work before the query is run. Before then, they always return false. Please see Debugging in WordPress for more information. (This message was added in version 3.1.) in wp-includes/functions.php on line 2944
A backtrace shows the following
... 4. apply_filters(doing_it_wrong_trigger_error,1) \wp-includes\functions.php:2941 2 5. _doing_it_wrong(is_page,Conditional query tags do not work before the query is run. Before then, they always return false.,3.1) \wp-includes\query.php:492 3 6. is_page(46) \wp-content\plugins\easy-digital-downloads\includes\cart-functions.php:576 1 7. edd_is_checkout \wp-content\plugins\easy-digital-downloads\includes\plugin-compatibility.php:64 0 8. edd_disable_jetpack_og_on_checkout() \wp-content\plugins\easy-digital-downloads\includes\plugin-compatibility.php:0 1 9. call_user_func_array(edd_disable_jetpack_og_on_checkout,Array) \wp-includes\plugin.php:173 2 10. apply_filters(jetpack_enable_open_graph,) \wp-content\plugins\jetpack\jetpack.php:436 2 ...
Whilst this problem existed I could not continue to use EDD.
My initial pragmatic solution was to deactivate Jetpack.
But then I realised the problem occurred because I had WP_DEBUG set to true.
Note: The initial message is sometimes followed by
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /wp-includes/functions.php:2944) in /wp-includes/plugin.php on line 406
This subsequent message is a direct result of the first message being written early on in the server processing.
I then set WP_DEBUG to false and reactivated JetPack.
The problem still exists, and it's being logged to the PHP error log,
but at least it's not showing on the webpage now.
Note: The problem occurs with both WordPress 3.4.2 and 3.5