WordPress.org

Make WordPress Core

Opened 3 years ago

Closed 8 months ago

#17072 closed enhancement (maybelater)

Make $wp_query->query read-only

Reported by: scribu Owned by:
Milestone: Priority: normal
Severity: normal Version:
Component: Query Keywords: has-patch
Focuses: Cc:

Description

WP_Query has two properties that contain query vars:

$wp_query->query is the initial query.

$wp_query->query_vars is the "working copy", with all possible query vars filled.

I propose we prevent modification of $wp_query->query and keep it as a signature of that particular instance.

Attachments (1)

17072.diff (588 bytes) - added by scribu 3 years ago.

Download all attachments as: .zip

Change History (6)

scribu3 years ago

comment:1 scribu3 years ago

Note that attempts to modify $wp_query->query will just trigger a notice:

Notice: Indirect modification of overloaded property WP_Query::$query has no effect ...

comment:2 westi3 years ago

We already discussed in IRC how we can't really make anything private that wasn't private before because it could break plugin functionality.

While this won't cause a WSOD it could break sites.

comment:3 scribu3 years ago

We're not making it private, just read-only.

You can still call if ( 'foo' == $wp_query->query['foo'] ) etc.

Version 1, edited 3 years ago by scribu (previous) (next) (diff)

comment:4 wonderboymusic8 months ago

  • Keywords close added; dev-feedback removed

@scribu, do you still feel this way? leaving this open for discussion

comment:5 wonderboymusic8 months ago

  • Keywords close removed
  • Milestone Future Release deleted
  • Resolution set to maybelater
  • Status changed from new to closed

Not a lot of action here

Note: See TracTickets for help on using tickets.