WordPress.org

Make WordPress Core

Opened 6 years ago

Last modified 4 months ago

#33388 reviewing defect (bug)

WP_Theme should use get_file_data() for retrieving page templates

Reported by: dd32 Owned by: SergeyBiryukov
Milestone: 5.9 Priority: normal
Severity: normal Version:
Component: Themes Keywords: needs-testing has-patch
Focuses: Cc:

Description

Currently WP_Theme::get_page_templates() uses a direct regular expression on the result of get_file_contents(), it should instead use the get_file_data() helper method we have to interact with file header data.

Currently switching will result in a back-compat break, as some themes have been using headers such as <?php // Template Name: Something ?> as the header, which get_file_data() doesn't like - See #33387

See r21117 for where we previously did use it temporarily during the 3.4 cycle, but broke due to #33387

Attachments (2)

33388.diff (790 bytes) - added by m_uysl 5 years ago.
depends on #33387
33388.2.diff (1.3 KB) - added by Thomas Vitale 4 years ago.
Patch refreshed

Download all attachments as: .zip

Change History (6)

@m_uysl
5 years ago

depends on #33387

#1 @Thomas Vitale
4 years ago

  • Keywords needs-refresh added

@Thomas Vitale
4 years ago

Patch refreshed

#2 @Thomas Vitale
4 years ago

  • Keywords needs-testing added; needs-refresh removed

#3 follow-up: @joyously
22 months ago

  • Keywords close added

This ticket proposes a "should", but says it is not backward compatible. So why "should" it be changed?
It's not broken, so why change it?

#4 in reply to: ↑ 3 @SergeyBiryukov
4 months ago

  • Keywords has-patch added; close removed
  • Milestone changed from Awaiting Review to 5.9
  • Owner set to SergeyBiryukov
  • Status changed from new to reviewing

Replying to joyously:

This ticket proposes a "should", but says it is not backward compatible. So why "should" it be changed?

The backward compatibility concerns are addressed in [51182] / #33387, so this can now be addressed as well.

Why? Using an existing function instead of partially duplicating its functionality should make future maintenance easier.

Note: See TracTickets for help on using tickets.