id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc,focuses
12145,Enhance activation process to improve integration with site theme,dd32,westi,"wp-activate.php creates many notices on load due to theme hackery
an example to start:
{{{
Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\comment-template.php on line 777
Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\comment-template.php on line 794
Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\general-template.php on line 1588
Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\query.php on line 2600
Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\query.php on line 2600
Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\post-template.php on line 431
Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\query.php on line 2600
Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\post-template.php on line 1172
class=""page page-id- page-parent logged-in"">
}}}
the problem is, that wp-activate.php attempts to simulate a normal WordPress page, the problem arrises that when the header is included and/or custom code in the theme runs on the header, that the no-existance of the current post id (NULL) causes most of the WordPress functions to complain, as they're expecting a correct post object to be returned.
2 options
1. Update all API function to move to {{{ if ( ! $_post = get_post(..) ) return false; - This should probably be done anyway
2. Improve the hackery to allow displaying custom pages such as wp-activate.php more transparently.
Furthur to #2, this might involve creating a page in the database which the API functions can access directly, the activate site page would then become a real page in the eyes of WordPress.",enhancement,closed,normal,,Login and Registration,,normal,maybelater,needs-patch,,multisite