Opened 15 months ago

Closed 15 months ago

Last modified 15 months ago

#20174 closed defect (bug) (fixed)

populate_network() doesn't set up rewrite rules properly

Reported by: duck_ Owned by: duck_
Priority: normal Milestone: 3.4
Component: Multisite Version: 3.0
Severity: normal Keywords: has-patch
Cc:

Description

The call to flush_rewrite_rules() in populate_network() doesn't actually do much because although the lines before update the permalink_structure this doesn't actually change the value cached in the WP_Rewrite property.

This means that incorrect rewrite rules are stored for the main site when setting up a network. NB: this only occurs when the permalink structure had already been set to something before installing the network.

The fix would be to use $wp_rewrite->set_permalink_structure which updates the option and re-initializes the $wp_rewrite global to use the new structure.

Attachments (1)

20174.diff (1002 bytes) - added by duck_ 15 months ago.

Download all attachments as: .zip

Change History (6)

duck_15 months ago

comment:1 follow-up: ↓ 2   ocean9015 months ago

Related: #20171?

comment:2 in reply to: ↑ 1   duck_15 months ago

Replying to ocean90:

Related: #20171?

Yeah. I forgot to mention that.

  • Owner set to duck_
  • Resolution set to fixed
  • Status changed from new to closed

In [20117]:

Use WP_Rewrite::set_permalink_structure instead of plain update_option() in populate_network(). Fixes #20174.

This has the benefit of calling WP_Rewrite::init() which correctly resets the permalink_structure
property of the $wp_rewrite global so that the rewrite rules generated on the next flush are correct.

  • Milestone changed from Awaiting Review to 3.4

Looks good.

Note: See TracTickets for help on using tickets.