query.php: get_queried_object() result cannot be assumed to be non-NULL — at Version 2
|Reported by:||lkraav||Owned by:|
Description (last modified by SergeyBiryukov)
I'm dealing with a WPMUdev plugin called MarketPress. Its /store/products/ page is a special CPT catalog thing that seems to have wp_title() issues, so I dug into it.
Turns out that:
is_front_page() -> is_page() -> $page_obj = $this->get_queried_object() -> $page_obj == NULL
But is_page() (and other is_...()) go harrassing $page_obj assuming there's always something useful there. This creates a flood of "non-object access" notices.
I would expect something like this to make sense in these is_...() functions:
if (!is_null($page_obj)) return false;
Since WP_Query::get_queried_object() first sets its result as null and returning a value is actually conditional, I don't see a way around these checks. Enlighten me please if I'm wrong.