WordPress.org

Make WordPress Core

Opened 4 years ago

Last modified 3 months ago

#12145 new enhancement

Enhance activation process to improve integration with site theme — at Version 2

Reported by: dd32 Owned by: westi
Milestone: Future Release Priority: normal
Severity: normal Version:
Component: Login and Registration Keywords:
Focuses: multisite Cc:

Description (last modified by 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.

Change History (2)

comment:1 wpmuguru4 years ago

  • Milestone changed from 3.0 to Future Release

Custom signup and activation pages by themes and plugins (ex. BuddyPress does both) are already supported.

We are going to look at revamping the registration process in 3.1 or later. Punting.

Related: #12166

comment:2 westi2 years ago

  • Component changed from Warnings/Notices to Multisite
  • Description modified (diff)
  • Summary changed from wp-activate.php creates many notices on load due to theme hackery to Enhance activation process to improve integration with site theme
  • Type changed from defect (bug) to enhancement

Moving to the Multisite Component as this is more of a Multisite issue than a Warnings/Notice fixup.

And also marking as an Enhancement.

When we address this we should move away from as much theme hackery as possible.

Note: See TracTickets for help on using tickets.